From 03e76ed322c1c83b16442326da2a14aad493b000 Mon Sep 17 00:00:00 2001 From: sendaoYan Date: Tue, 11 Feb 2025 10:39:58 +0800 Subject: [PATCH 1/5] 8349689: Several virtual thread tests missing /native keyword --- .../java/lang/Thread/virtual/JfrEvents.java | 4 ++-- .../lang/Thread/virtual/MonitorEnterExit.java | 24 +++++++++---------- .../Thread/virtual/MonitorWaitNotify.java | 24 +++++++++---------- .../virtual/RetryMonitorEnterWhenPinned.java | 4 ++-- .../Thread/virtual/SynchronizedNative.java | 10 ++++---- .../java/lang/Thread/virtual/ThreadAPI.java | 6 ++--- .../stress/GetStackTraceALotWhenPinned.java | 6 ++--- .../lang/Thread/virtual/stress/PinALot.java | 6 ++--- .../ThreadMXBean/VirtualThreads.java | 2 +- .../nio/channels/vthread/SelectorOps.java | 10 ++++---- 10 files changed, 48 insertions(+), 48 deletions(-) diff --git a/test/jdk/java/lang/Thread/virtual/JfrEvents.java b/test/jdk/java/lang/Thread/virtual/JfrEvents.java index a1671fe3cc5b9..badecba7a5441 100644 --- a/test/jdk/java/lang/Thread/virtual/JfrEvents.java +++ b/test/jdk/java/lang/Thread/virtual/JfrEvents.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021, 2024, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2021, 2025, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -27,7 +27,7 @@ * @requires vm.continuations * @modules jdk.jfr java.base/java.lang:+open jdk.management * @library /test/lib - * @run junit/othervm --enable-native-access=ALL-UNNAMED JfrEvents + * @run junit/othervm/native --enable-native-access=ALL-UNNAMED JfrEvents */ import java.io.IOException; diff --git a/test/jdk/java/lang/Thread/virtual/MonitorEnterExit.java b/test/jdk/java/lang/Thread/virtual/MonitorEnterExit.java index f095fb2cf9843..858f76253869c 100644 --- a/test/jdk/java/lang/Thread/virtual/MonitorEnterExit.java +++ b/test/jdk/java/lang/Thread/virtual/MonitorEnterExit.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2023, 2024, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2023, 2025, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -27,7 +27,7 @@ * @modules java.base/java.lang:+open jdk.management * @library /test/lib * @build LockingMode - * @run junit/othervm --enable-native-access=ALL-UNNAMED MonitorEnterExit + * @run junit/othervm/native --enable-native-access=ALL-UNNAMED MonitorEnterExit */ /* @@ -35,7 +35,7 @@ * @modules java.base/java.lang:+open jdk.management * @library /test/lib * @build LockingMode - * @run junit/othervm -XX:LockingMode=1 --enable-native-access=ALL-UNNAMED MonitorEnterExit + * @run junit/othervm/native -XX:LockingMode=1 --enable-native-access=ALL-UNNAMED MonitorEnterExit */ /* @@ -43,7 +43,7 @@ * @modules java.base/java.lang:+open jdk.management * @library /test/lib * @build LockingMode - * @run junit/othervm -XX:LockingMode=2 --enable-native-access=ALL-UNNAMED MonitorEnterExit + * @run junit/othervm/native -XX:LockingMode=2 --enable-native-access=ALL-UNNAMED MonitorEnterExit */ /* @@ -51,7 +51,7 @@ * @modules java.base/java.lang:+open jdk.management * @library /test/lib * @build LockingMode - * @run junit/othervm -Xint -XX:LockingMode=1 --enable-native-access=ALL-UNNAMED MonitorEnterExit + * @run junit/othervm/native -Xint -XX:LockingMode=1 --enable-native-access=ALL-UNNAMED MonitorEnterExit */ /* @@ -59,7 +59,7 @@ * @modules java.base/java.lang:+open jdk.management * @library /test/lib * @build LockingMode - * @run junit/othervm -Xint -XX:LockingMode=2 --enable-native-access=ALL-UNNAMED MonitorEnterExit + * @run junit/othervm/native -Xint -XX:LockingMode=2 --enable-native-access=ALL-UNNAMED MonitorEnterExit */ /* @@ -67,7 +67,7 @@ * @modules java.base/java.lang:+open jdk.management * @library /test/lib * @build LockingMode - * @run junit/othervm -Xcomp -XX:LockingMode=1 --enable-native-access=ALL-UNNAMED MonitorEnterExit + * @run junit/othervm/native -Xcomp -XX:LockingMode=1 --enable-native-access=ALL-UNNAMED MonitorEnterExit */ /* @@ -75,7 +75,7 @@ * @modules java.base/java.lang:+open jdk.management * @library /test/lib * @build LockingMode - * @run junit/othervm -Xcomp -XX:LockingMode=2 --enable-native-access=ALL-UNNAMED MonitorEnterExit + * @run junit/othervm/native -Xcomp -XX:LockingMode=2 --enable-native-access=ALL-UNNAMED MonitorEnterExit */ /* @@ -83,7 +83,7 @@ * @modules java.base/java.lang:+open jdk.management * @library /test/lib * @build LockingMode - * @run junit/othervm -Xcomp -XX:TieredStopAtLevel=1 -XX:LockingMode=1 --enable-native-access=ALL-UNNAMED MonitorEnterExit + * @run junit/othervm/native -Xcomp -XX:TieredStopAtLevel=1 -XX:LockingMode=1 --enable-native-access=ALL-UNNAMED MonitorEnterExit */ /* @@ -91,7 +91,7 @@ * @modules java.base/java.lang:+open jdk.management * @library /test/lib * @build LockingMode - * @run junit/othervm -Xcomp -XX:TieredStopAtLevel=1 -XX:LockingMode=2 --enable-native-access=ALL-UNNAMED MonitorEnterExit + * @run junit/othervm/native -Xcomp -XX:TieredStopAtLevel=1 -XX:LockingMode=2 --enable-native-access=ALL-UNNAMED MonitorEnterExit */ /* @@ -99,7 +99,7 @@ * @modules java.base/java.lang:+open jdk.management * @library /test/lib * @build LockingMode - * @run junit/othervm -Xcomp -XX:-TieredCompilation -XX:LockingMode=1 --enable-native-access=ALL-UNNAMED MonitorEnterExit + * @run junit/othervm/native -Xcomp -XX:-TieredCompilation -XX:LockingMode=1 --enable-native-access=ALL-UNNAMED MonitorEnterExit */ /* @@ -107,7 +107,7 @@ * @modules java.base/java.lang:+open jdk.management * @library /test/lib * @build LockingMode - * @run junit/othervm -Xcomp -XX:-TieredCompilation -XX:LockingMode=2 --enable-native-access=ALL-UNNAMED MonitorEnterExit + * @run junit/othervm/native -Xcomp -XX:-TieredCompilation -XX:LockingMode=2 --enable-native-access=ALL-UNNAMED MonitorEnterExit */ import java.time.Duration; diff --git a/test/jdk/java/lang/Thread/virtual/MonitorWaitNotify.java b/test/jdk/java/lang/Thread/virtual/MonitorWaitNotify.java index 98bdc7fdedd00..0ec0adb0fafd4 100644 --- a/test/jdk/java/lang/Thread/virtual/MonitorWaitNotify.java +++ b/test/jdk/java/lang/Thread/virtual/MonitorWaitNotify.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019, 2024, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2019, 2025, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -27,7 +27,7 @@ * @modules java.base/java.lang:+open jdk.management * @library /test/lib * @build LockingMode - * @run junit/othervm --enable-native-access=ALL-UNNAMED MonitorWaitNotify + * @run junit/othervm/native --enable-native-access=ALL-UNNAMED MonitorWaitNotify */ /* @@ -35,7 +35,7 @@ * @modules java.base/java.lang:+open jdk.management * @library /test/lib * @build LockingMode - * @run junit/othervm -XX:LockingMode=1 --enable-native-access=ALL-UNNAMED MonitorWaitNotify + * @run junit/othervm/native -XX:LockingMode=1 --enable-native-access=ALL-UNNAMED MonitorWaitNotify */ /* @@ -43,7 +43,7 @@ * @modules java.base/java.lang:+open jdk.management * @library /test/lib * @build LockingMode - * @run junit/othervm -XX:LockingMode=2 --enable-native-access=ALL-UNNAMED MonitorWaitNotify + * @run junit/othervm/native -XX:LockingMode=2 --enable-native-access=ALL-UNNAMED MonitorWaitNotify */ /* @@ -51,7 +51,7 @@ * @modules java.base/java.lang:+open jdk.management * @library /test/lib * @build LockingMode - * @run junit/othervm -Xint -XX:LockingMode=1 --enable-native-access=ALL-UNNAMED MonitorWaitNotify + * @run junit/othervm/native -Xint -XX:LockingMode=1 --enable-native-access=ALL-UNNAMED MonitorWaitNotify */ /* @@ -59,7 +59,7 @@ * @modules java.base/java.lang:+open jdk.management * @library /test/lib * @build LockingMode - * @run junit/othervm -Xint -XX:LockingMode=2 --enable-native-access=ALL-UNNAMED MonitorWaitNotify + * @run junit/othervm/native -Xint -XX:LockingMode=2 --enable-native-access=ALL-UNNAMED MonitorWaitNotify */ /* @@ -67,7 +67,7 @@ * @modules java.base/java.lang:+open jdk.management * @library /test/lib * @build LockingMode - * @run junit/othervm -Xcomp -XX:LockingMode=1 --enable-native-access=ALL-UNNAMED MonitorWaitNotify + * @run junit/othervm/native -Xcomp -XX:LockingMode=1 --enable-native-access=ALL-UNNAMED MonitorWaitNotify */ /* @@ -75,7 +75,7 @@ * @modules java.base/java.lang:+open jdk.management * @library /test/lib * @build LockingMode - * @run junit/othervm -Xcomp -XX:LockingMode=2 --enable-native-access=ALL-UNNAMED MonitorWaitNotify + * @run junit/othervm/native -Xcomp -XX:LockingMode=2 --enable-native-access=ALL-UNNAMED MonitorWaitNotify */ /* @@ -83,7 +83,7 @@ * @modules java.base/java.lang:+open jdk.management * @library /test/lib * @build LockingMode - * @run junit/othervm -Xcomp -XX:TieredStopAtLevel=1 -XX:LockingMode=1 --enable-native-access=ALL-UNNAMED MonitorWaitNotify + * @run junit/othervm/native -Xcomp -XX:TieredStopAtLevel=1 -XX:LockingMode=1 --enable-native-access=ALL-UNNAMED MonitorWaitNotify */ /* @@ -91,7 +91,7 @@ * @modules java.base/java.lang:+open jdk.management * @library /test/lib * @build LockingMode - * @run junit/othervm -Xcomp -XX:TieredStopAtLevel=1 -XX:LockingMode=2 --enable-native-access=ALL-UNNAMED MonitorWaitNotify + * @run junit/othervm/native -Xcomp -XX:TieredStopAtLevel=1 -XX:LockingMode=2 --enable-native-access=ALL-UNNAMED MonitorWaitNotify */ /* @@ -99,7 +99,7 @@ * @modules java.base/java.lang:+open jdk.management * @library /test/lib * @build LockingMode - * @run junit/othervm -Xcomp -XX:-TieredCompilation -XX:LockingMode=1 --enable-native-access=ALL-UNNAMED MonitorWaitNotify + * @run junit/othervm/native -Xcomp -XX:-TieredCompilation -XX:LockingMode=1 --enable-native-access=ALL-UNNAMED MonitorWaitNotify */ /* @@ -107,7 +107,7 @@ * @modules java.base/java.lang:+open jdk.management * @library /test/lib * @build LockingMode - * @run junit/othervm -Xcomp -XX:-TieredCompilation -XX:LockingMode=2 --enable-native-access=ALL-UNNAMED MonitorWaitNotify + * @run junit/othervm/native -Xcomp -XX:-TieredCompilation -XX:LockingMode=2 --enable-native-access=ALL-UNNAMED MonitorWaitNotify */ import java.util.ArrayList; diff --git a/test/jdk/java/lang/Thread/virtual/RetryMonitorEnterWhenPinned.java b/test/jdk/java/lang/Thread/virtual/RetryMonitorEnterWhenPinned.java index 1d889b7236925..fa754a88b8084 100644 --- a/test/jdk/java/lang/Thread/virtual/RetryMonitorEnterWhenPinned.java +++ b/test/jdk/java/lang/Thread/virtual/RetryMonitorEnterWhenPinned.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2024, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2024, 2025, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -30,7 +30,7 @@ * @modules java.base/java.lang:+open * @library /test/lib * @requires vm.opt.LockingMode != 1 - * @run main/othervm --enable-native-access=ALL-UNNAMED RetryMonitorEnterWhenPinned + * @run main/othervm/native --enable-native-access=ALL-UNNAMED RetryMonitorEnterWhenPinned */ import java.time.Duration; diff --git a/test/jdk/java/lang/Thread/virtual/SynchronizedNative.java b/test/jdk/java/lang/Thread/virtual/SynchronizedNative.java index 578aefe6a3054..c894944aa2532 100644 --- a/test/jdk/java/lang/Thread/virtual/SynchronizedNative.java +++ b/test/jdk/java/lang/Thread/virtual/SynchronizedNative.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2023, 2024, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2023, 2025, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -28,7 +28,7 @@ * @requires vm.continuations * @modules java.base/java.lang:+open jdk.management * @library /test/lib - * @run junit/othervm --enable-native-access=ALL-UNNAMED SynchronizedNative + * @run junit/othervm/native --enable-native-access=ALL-UNNAMED SynchronizedNative */ /* @@ -36,7 +36,7 @@ * @requires vm.continuations * @modules java.base/java.lang:+open jdk.management * @library /test/lib - * @run junit/othervm -Xint --enable-native-access=ALL-UNNAMED SynchronizedNative + * @run junit/othervm/native -Xint --enable-native-access=ALL-UNNAMED SynchronizedNative */ /* @@ -44,7 +44,7 @@ * @requires vm.continuations * @modules java.base/java.lang:+open jdk.management * @library /test/lib - * @run junit/othervm -Xcomp -XX:TieredStopAtLevel=1 --enable-native-access=ALL-UNNAMED SynchronizedNative + * @run junit/othervm/native -Xcomp -XX:TieredStopAtLevel=1 --enable-native-access=ALL-UNNAMED SynchronizedNative */ /* @@ -52,7 +52,7 @@ * @requires vm.continuations * @modules java.base/java.lang:+open jdk.management * @library /test/lib - * @run junit/othervm -Xcomp -XX:-TieredCompilation --enable-native-access=ALL-UNNAMED SynchronizedNative + * @run junit/othervm/native -Xcomp -XX:-TieredCompilation --enable-native-access=ALL-UNNAMED SynchronizedNative */ import java.util.concurrent.CountDownLatch; diff --git a/test/jdk/java/lang/Thread/virtual/ThreadAPI.java b/test/jdk/java/lang/Thread/virtual/ThreadAPI.java index d40fafc67bff7..a3d85660b9928 100644 --- a/test/jdk/java/lang/Thread/virtual/ThreadAPI.java +++ b/test/jdk/java/lang/Thread/virtual/ThreadAPI.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019, 2024, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2019, 2025, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -28,7 +28,7 @@ * @modules java.base/java.lang:+open jdk.management * @library /test/lib * @build LockingMode - * @run junit/othervm --enable-native-access=ALL-UNNAMED ThreadAPI + * @run junit/othervm/native --enable-native-access=ALL-UNNAMED ThreadAPI */ /* @@ -37,7 +37,7 @@ * @modules java.base/java.lang:+open jdk.management * @library /test/lib * @build LockingMode - * @run junit/othervm -XX:+UnlockExperimentalVMOptions -XX:-VMContinuations + * @run junit/othervm/native -XX:+UnlockExperimentalVMOptions -XX:-VMContinuations * --enable-native-access=ALL-UNNAMED ThreadAPI */ diff --git a/test/jdk/java/lang/Thread/virtual/stress/GetStackTraceALotWhenPinned.java b/test/jdk/java/lang/Thread/virtual/stress/GetStackTraceALotWhenPinned.java index 0b5cabab7d56b..f68b595eed4bb 100644 --- a/test/jdk/java/lang/Thread/virtual/stress/GetStackTraceALotWhenPinned.java +++ b/test/jdk/java/lang/Thread/virtual/stress/GetStackTraceALotWhenPinned.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2023, 2024, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2023, 2025, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -28,7 +28,7 @@ * @requires vm.debug != true * @modules jdk.management * @library /test/lib - * @run main/othervm/timeout=300 --enable-native-access=ALL-UNNAMED GetStackTraceALotWhenPinned 100000 + * @run main/othervm/native/timeout=300 --enable-native-access=ALL-UNNAMED GetStackTraceALotWhenPinned 100000 */ /* @@ -36,7 +36,7 @@ * @requires vm.debug == true * @modules jdk.management * @library /test/lib - * @run main/othervm/timeout=300 --enable-native-access=ALL-UNNAMED GetStackTraceALotWhenPinned 50000 + * @run main/othervm/native/timeout=300 --enable-native-access=ALL-UNNAMED GetStackTraceALotWhenPinned 50000 */ import java.time.Instant; diff --git a/test/jdk/java/lang/Thread/virtual/stress/PinALot.java b/test/jdk/java/lang/Thread/virtual/stress/PinALot.java index 7f95847fc7665..ff45ea837ae2b 100644 --- a/test/jdk/java/lang/Thread/virtual/stress/PinALot.java +++ b/test/jdk/java/lang/Thread/virtual/stress/PinALot.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020, 2024, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2020, 2025, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -26,14 +26,14 @@ * @summary Stress test timed park when pinned * @requires vm.debug != true * @library /test/lib - * @run main/othervm --enable-native-access=ALL-UNNAMED PinALot 500000 + * @run main/othervm/native --enable-native-access=ALL-UNNAMED PinALot 500000 */ /* * @test * @requires vm.debug == true * @library /test/lib - * @run main/othervm/timeout=300 --enable-native-access=ALL-UNNAMED PinALot 200000 + * @run main/othervm/native/timeout=300 --enable-native-access=ALL-UNNAMED PinALot 200000 */ import java.time.Duration; diff --git a/test/jdk/java/lang/management/ThreadMXBean/VirtualThreads.java b/test/jdk/java/lang/management/ThreadMXBean/VirtualThreads.java index 7830c93ac13fa..28ed3fdbe54ac 100644 --- a/test/jdk/java/lang/management/ThreadMXBean/VirtualThreads.java +++ b/test/jdk/java/lang/management/ThreadMXBean/VirtualThreads.java @@ -27,7 +27,7 @@ * @summary Test java.lang.management.ThreadMXBean with virtual threads * @modules java.base/java.lang:+open java.management * @library /test/lib - * @run junit/othervm VirtualThreads + * @run junit/othervm/native VirtualThreads */ /** diff --git a/test/jdk/java/nio/channels/vthread/SelectorOps.java b/test/jdk/java/nio/channels/vthread/SelectorOps.java index 1abb5c8bc5f60..0c86cae61850e 100644 --- a/test/jdk/java/nio/channels/vthread/SelectorOps.java +++ b/test/jdk/java/nio/channels/vthread/SelectorOps.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2023, 2024, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2023, 2025, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -25,22 +25,22 @@ * @test id=default * @summary Test virtual threads doing selection operations * @library /test/lib - * @run junit/othervm --enable-native-access=ALL-UNNAMED SelectorOps + * @run junit/othervm/native --enable-native-access=ALL-UNNAMED SelectorOps */ /* * @test id=poller-modes * @requires (os.family == "linux") | (os.family == "mac") * @library /test/lib - * @run junit/othervm -Djdk.pollerMode=1 --enable-native-access=ALL-UNNAMED SelectorOps - * @run junit/othervm -Djdk.pollerMode=2 --enable-native-access=ALL-UNNAMED SelectorOps + * @run junit/othervm/native -Djdk.pollerMode=1 --enable-native-access=ALL-UNNAMED SelectorOps + * @run junit/othervm/native -Djdk.pollerMode=2 --enable-native-access=ALL-UNNAMED SelectorOps */ /* * @test id=no-vmcontinuations * @requires vm.continuations * @library /test/lib - * @run junit/othervm -XX:+UnlockExperimentalVMOptions -XX:-VMContinuations + * @run junit/othervm/native -XX:+UnlockExperimentalVMOptions -XX:-VMContinuations * --enable-native-access=ALL-UNNAMED SelectorOps */ From 7c030997b778fcc3790b202c3eed75d97089ec93 Mon Sep 17 00:00:00 2001 From: sendaoYan Date: Tue, 11 Feb 2025 15:39:08 +0800 Subject: [PATCH 2/5] add --enable-native-access=ALL-UNNAMED for test/jdk/java/lang/management/ThreadMXBean/VirtualThreads.java#default --- test/jdk/java/lang/management/ThreadMXBean/VirtualThreads.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/jdk/java/lang/management/ThreadMXBean/VirtualThreads.java b/test/jdk/java/lang/management/ThreadMXBean/VirtualThreads.java index 28ed3fdbe54ac..2beced2af4d9e 100644 --- a/test/jdk/java/lang/management/ThreadMXBean/VirtualThreads.java +++ b/test/jdk/java/lang/management/ThreadMXBean/VirtualThreads.java @@ -27,7 +27,7 @@ * @summary Test java.lang.management.ThreadMXBean with virtual threads * @modules java.base/java.lang:+open java.management * @library /test/lib - * @run junit/othervm/native VirtualThreads + * @run junit/othervm/native --enable-native-access=ALL-UNNAMED VirtualThreads */ /** From 413ee6b18b0b89f2cea2ad1e17059e65ad1a2bb9 Mon Sep 17 00:00:00 2001 From: sendaoYan Date: Tue, 11 Feb 2025 16:35:44 +0800 Subject: [PATCH 3/5] add /native for test/jdk/java/lang/Thread/virtual/ThreadPollOnYield.java test/jdk/java/lang/Thread/virtual/Starvation.java --- test/jdk/java/lang/Thread/virtual/Starvation.java | 4 ++-- .../java/lang/Thread/virtual/ThreadPollOnYield.java | 11 ++++++++--- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/test/jdk/java/lang/Thread/virtual/Starvation.java b/test/jdk/java/lang/Thread/virtual/Starvation.java index 0661d6e608e89..b68fa35188789 100644 --- a/test/jdk/java/lang/Thread/virtual/Starvation.java +++ b/test/jdk/java/lang/Thread/virtual/Starvation.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2024, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2024, 2025 Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -25,7 +25,7 @@ * @requires vm.continuations * @library /test/lib * @bug 8345294 - * @run main/othervm --enable-native-access=ALL-UNNAMED Starvation 100000 + * @run main/othervm/timeout=200/native --enable-native-access=ALL-UNNAMED Starvation 100000 */ import java.time.Duration; diff --git a/test/jdk/java/lang/Thread/virtual/ThreadPollOnYield.java b/test/jdk/java/lang/Thread/virtual/ThreadPollOnYield.java index b8ab61556eaf6..e81c1f3487af3 100644 --- a/test/jdk/java/lang/Thread/virtual/ThreadPollOnYield.java +++ b/test/jdk/java/lang/Thread/virtual/ThreadPollOnYield.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2024, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2024, 2025, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -27,7 +27,7 @@ * @summary Test that Thread.yield loop polls for safepoints * @requires vm.continuations * @library /test/lib - * @run junit/othervm ThreadPollOnYield + * @run junit/othervm/native --enable-native-access=ALL-UNNAMED ThreadPollOnYield */ /* @@ -36,7 +36,7 @@ * @summary Test that Thread.yield loop polls for safepoints * @requires vm.continuations & vm.compMode != "Xcomp" * @library /test/lib - * @run junit/othervm -Xcomp -XX:-TieredCompilation -XX:CompileCommand=inline,*::yield* -XX:CompileCommand=inline,*::*Yield ThreadPollOnYield + * @run junit/othervm/native --enable-native-access=ALL-UNNAMED -Xcomp -XX:-TieredCompilation -XX:CompileCommand=inline,*::yield* -XX:CompileCommand=inline,*::*Yield ThreadPollOnYield */ import java.util.concurrent.atomic.AtomicBoolean; @@ -46,8 +46,10 @@ import static org.junit.jupiter.api.Assertions.*; class ThreadPollOnYield { + public static volatile boolean flag = false; static void foo(AtomicBoolean done) { while (!done.get()) { + flag = true; Thread.yield(); } } @@ -62,6 +64,9 @@ void testThreadYieldPolls() throws Exception { done.set(true); vthread.join(); + if (flag != true) { + throw new RuntimeException("flag = " + flag); + } System.out.println("First vthread done"); AtomicBoolean done2 = new AtomicBoolean(); From 07f3435731a6738b1ed4747a5bf32d936534eb40 Mon Sep 17 00:00:00 2001 From: sendaoYan Date: Tue, 11 Feb 2025 16:49:22 +0800 Subject: [PATCH 4/5] update copyright year for test/jdk/java/lang/management/ThreadMXBean/VirtualThreads.java; Split @run line for test/jdk/java/lang/Thread/virtual/ThreadPollOnYield.java --- test/jdk/java/lang/Thread/virtual/ThreadPollOnYield.java | 3 ++- test/jdk/java/lang/management/ThreadMXBean/VirtualThreads.java | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/test/jdk/java/lang/Thread/virtual/ThreadPollOnYield.java b/test/jdk/java/lang/Thread/virtual/ThreadPollOnYield.java index e81c1f3487af3..d4dd2056d8d74 100644 --- a/test/jdk/java/lang/Thread/virtual/ThreadPollOnYield.java +++ b/test/jdk/java/lang/Thread/virtual/ThreadPollOnYield.java @@ -36,7 +36,8 @@ * @summary Test that Thread.yield loop polls for safepoints * @requires vm.continuations & vm.compMode != "Xcomp" * @library /test/lib - * @run junit/othervm/native --enable-native-access=ALL-UNNAMED -Xcomp -XX:-TieredCompilation -XX:CompileCommand=inline,*::yield* -XX:CompileCommand=inline,*::*Yield ThreadPollOnYield + * @run junit/othervm/native --enable-native-access=ALL-UNNAMED -Xcomp -XX:-TieredCompilation + * -XX:CompileCommand=inline,*::yield* -XX:CompileCommand=inline,*::*Yield ThreadPollOnYield */ import java.util.concurrent.atomic.AtomicBoolean; diff --git a/test/jdk/java/lang/management/ThreadMXBean/VirtualThreads.java b/test/jdk/java/lang/management/ThreadMXBean/VirtualThreads.java index 2beced2af4d9e..4cd7967e71fbf 100644 --- a/test/jdk/java/lang/management/ThreadMXBean/VirtualThreads.java +++ b/test/jdk/java/lang/management/ThreadMXBean/VirtualThreads.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020, 2024, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2020, 2025, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it From 912c1ab384ffb82e36e46cbf2236b42d4321bc27 Mon Sep 17 00:00:00 2001 From: sendaoYan Date: Tue, 11 Feb 2025 17:00:01 +0800 Subject: [PATCH 5/5] Remove the additional check for virtual thread of test/jdk/java/lang/Thread/virtual/ThreadPollOnYield.java --- test/jdk/java/lang/Thread/virtual/ThreadPollOnYield.java | 5 ----- 1 file changed, 5 deletions(-) diff --git a/test/jdk/java/lang/Thread/virtual/ThreadPollOnYield.java b/test/jdk/java/lang/Thread/virtual/ThreadPollOnYield.java index d4dd2056d8d74..538c7ee5781b9 100644 --- a/test/jdk/java/lang/Thread/virtual/ThreadPollOnYield.java +++ b/test/jdk/java/lang/Thread/virtual/ThreadPollOnYield.java @@ -47,10 +47,8 @@ import static org.junit.jupiter.api.Assertions.*; class ThreadPollOnYield { - public static volatile boolean flag = false; static void foo(AtomicBoolean done) { while (!done.get()) { - flag = true; Thread.yield(); } } @@ -65,9 +63,6 @@ void testThreadYieldPolls() throws Exception { done.set(true); vthread.join(); - if (flag != true) { - throw new RuntimeException("flag = " + flag); - } System.out.println("First vthread done"); AtomicBoolean done2 = new AtomicBoolean();