From 899303d99ae6fb78cd0f718c84b0e112d48712f6 Mon Sep 17 00:00:00 2001 From: "yunyao.zxl" Date: Thu, 30 Jul 2020 14:44:25 +0800 Subject: [PATCH] [Wisp] Make Wisp feature experimental for Dragonwell 8.4.4 version Summary: Change the Wisp flag to experimental Test Plan: all Wisp tests Reviewed-by: yuleil, shiyuexw, sanhong Issue: https://github.com/alibaba/dragonwell8/issues/113 --- src/share/vm/runtime/globals_ext.hpp | 6 +++--- .../coroutine/C1ThrowSyncExceptionTest.java | 2 +- test/runtime/coroutine/ClassCircularityTest.java | 2 +- test/runtime/coroutine/DirectUnparkTest.java | 2 +- test/runtime/coroutine/InterruptedWaitTest.java | 2 +- test/runtime/coroutine/Issue11230146.java | 2 +- test/runtime/coroutine/JStackTest.java | 2 +- test/runtime/coroutine/MemLeakTest.java | 2 +- .../coroutine/MultiCoroutineStackTest.java | 2 +- test/runtime/coroutine/PreemptExceptionTest.java | 2 +- .../coroutine/PreemptWispInternalBugTest.java | 1 + .../coroutine/TestAvoidDeoptCoroutineMethod.java | 2 +- .../coroutine/TestInvokeDynamicInterruption.java | 2 +- .../coroutine/TestPreserveFramePointer.java | 8 ++++---- .../Wisp2FlagCompatibilityCheckTest.java | 16 ++++++++++++---- test/runtime/coroutine/Wisp2SwitchTest.java | 2 +- test/runtime/coroutine/Wisp2SwitchTest2.java | 2 +- test/runtime/coroutine/WispClinitTest.java | 2 +- test/runtime/coroutine/WispEmitNewGuardTest.java | 2 +- test/runtime/coroutine/WispPreemptBugTest.java | 2 +- .../coroutine/WispStealMonitorC2Test.java | 2 +- test/runtime/coroutine/attachTest.sh | 2 +- test/runtime/coroutine/c1AssertFailTest.sh | 2 +- .../coroutine/coroutineBreakpointSwitchToTest.sh | 2 +- .../jniDetachThreadHoldingMonitorTest.c | 13 +++++++------ test/runtime/coroutine/jniMonitorExitTest.c | 13 +++++++------ test/runtime/coroutine/jvmtiWispMonitorTest.sh | 2 +- test/runtime/coroutine/logCompilationTest.sh | 2 +- .../coroutine/premainWithWispMonitorTest.sh | 2 +- 29 files changed, 57 insertions(+), 46 deletions(-) diff --git a/src/share/vm/runtime/globals_ext.hpp b/src/share/vm/runtime/globals_ext.hpp index fc33227f2..74643c1d1 100644 --- a/src/share/vm/runtime/globals_ext.hpp +++ b/src/share/vm/runtime/globals_ext.hpp @@ -115,16 +115,16 @@ product(bool, TenantDataIsolation, false, \ "Enable data isolation(e.g static vairable) per tenant") \ \ - product(bool, EnableCoroutine, false, \ + experimental(bool, EnableCoroutine, false, \ "Enable coroutine support") \ \ product(uintx, DefaultCoroutineStackSize, 128*K, \ "Default size of stack that is associated with new coroutine") \ \ - product(bool, UseWispMonitor, false, \ + experimental(bool, UseWispMonitor, false, \ "yields to next coroutine when ObjectMonitor is contended") \ \ - product(bool, UseWisp2, false, \ + experimental(bool, UseWisp2, false, \ "Enable Wisp2") \ \ diagnostic(bool, VerboseWisp, false, \ diff --git a/test/runtime/coroutine/C1ThrowSyncExceptionTest.java b/test/runtime/coroutine/C1ThrowSyncExceptionTest.java index afece6dff..c863c8f80 100644 --- a/test/runtime/coroutine/C1ThrowSyncExceptionTest.java +++ b/test/runtime/coroutine/C1ThrowSyncExceptionTest.java @@ -23,7 +23,7 @@ * @test * @summary test a special wisp unpark case for C1 compiled method * @requires os.family == "linux" - * @run main/othervm -XX:-UseBiasedLocking -XX:+EnableCoroutine -XX:+UseWispMonitor -Dcom.alibaba.transparentAsync=true -XX:TieredStopAtLevel=1 C1ThrowSyncExceptionTest + * @run main/othervm -XX:-UseBiasedLocking -XX:+UnlockExperimentalVMOptions -XX:+EnableCoroutine -XX:+UseWispMonitor -Dcom.alibaba.transparentAsync=true -XX:TieredStopAtLevel=1 C1ThrowSyncExceptionTest */ diff --git a/test/runtime/coroutine/ClassCircularityTest.java b/test/runtime/coroutine/ClassCircularityTest.java index b04a3c08b..a4360a21a 100644 --- a/test/runtime/coroutine/ClassCircularityTest.java +++ b/test/runtime/coroutine/ClassCircularityTest.java @@ -24,7 +24,7 @@ * @library /testlibrary * @summary test fix of parallel class-loading problem when we're using coroutine * @requires os.family == "linux" - * @run main/othervm -Xmx20m -XX:+AllowParallelDefineClass -XX:-UseBiasedLocking -XX:+EnableCoroutine -XX:+UseWispMonitor -Dcom.alibaba.wisp.transparentWispSwitch=true ClassCircularityTest + * @run main/othervm -Xmx20m -XX:+AllowParallelDefineClass -XX:-UseBiasedLocking -XX:+UnlockExperimentalVMOptions -XX:+EnableCoroutine -XX:+UseWispMonitor -Dcom.alibaba.wisp.transparentWispSwitch=true ClassCircularityTest */ diff --git a/test/runtime/coroutine/DirectUnparkTest.java b/test/runtime/coroutine/DirectUnparkTest.java index 3e8514e8e..52a0ca283 100644 --- a/test/runtime/coroutine/DirectUnparkTest.java +++ b/test/runtime/coroutine/DirectUnparkTest.java @@ -24,7 +24,7 @@ * @library /testlibrary * @summary Test the optimization of direct unpark with Object.wait/notify * @requires os.family == "linux" - * @run main/othervm -XX:-UseBiasedLocking -XX:+EnableCoroutine -XX:+UseWispMonitor -Dcom.alibaba.wisp.transparentWispSwitch=true -Dcom.alibaba.wisp.enableThreadAsWisp=true -Dcom.alibaba.wisp.version=2 -Dcom.alibaba.wisp.allThreadAsWisp=true DirectUnparkTest + * @run main/othervm -XX:-UseBiasedLocking -XX:+UnlockExperimentalVMOptions -XX:+EnableCoroutine -XX:+UseWispMonitor -Dcom.alibaba.wisp.transparentWispSwitch=true -Dcom.alibaba.wisp.enableThreadAsWisp=true -Dcom.alibaba.wisp.version=2 -Dcom.alibaba.wisp.allThreadAsWisp=true DirectUnparkTest */ import com.alibaba.wisp.engine.WispEngine; diff --git a/test/runtime/coroutine/InterruptedWaitTest.java b/test/runtime/coroutine/InterruptedWaitTest.java index 1ba158d45..8c8764463 100644 --- a/test/runtime/coroutine/InterruptedWaitTest.java +++ b/test/runtime/coroutine/InterruptedWaitTest.java @@ -24,7 +24,7 @@ * @summary test obj.wait() could be interrupted * @requires os.family == "linux" * @library /testlibrary - * @run main/othervm -XX:+EnableCoroutine -XX:+UseWispMonitor -Dcom.alibaba.wisp.transparentWispSwitch=true InterruptedWaitTest + * @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:+EnableCoroutine -XX:+UseWispMonitor -Dcom.alibaba.wisp.transparentWispSwitch=true InterruptedWaitTest */ import java.util.concurrent.atomic.AtomicBoolean; diff --git a/test/runtime/coroutine/Issue11230146.java b/test/runtime/coroutine/Issue11230146.java index e375ab94b..cc18a1fdf 100644 --- a/test/runtime/coroutine/Issue11230146.java +++ b/test/runtime/coroutine/Issue11230146.java @@ -24,7 +24,7 @@ * @library /testlibrary /testlibrary/whitebox * @build Issue11230146 * @run main ClassFileInstaller sun.hotspot.WhiteBox - * @run main/othervm -XX:-Inline -XX:+EnableCoroutine -Xmx10m -Xms10m -XX:ReservedCodeCacheSize=3m -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI Issue11230146 + * @run main/othervm -XX:-Inline -XX:+UnlockExperimentalVMOptions -XX:+EnableCoroutine -Xmx10m -Xms10m -XX:ReservedCodeCacheSize=3m -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI Issue11230146 * @summary Issue11230146, JTreg test for D181275 * @requires os.family == "linux" */ diff --git a/test/runtime/coroutine/JStackTest.java b/test/runtime/coroutine/JStackTest.java index b80f26d6c..eee0a140f 100644 --- a/test/runtime/coroutine/JStackTest.java +++ b/test/runtime/coroutine/JStackTest.java @@ -24,7 +24,7 @@ * @library /testlibrary * @summary Test jstack steal counter * @requires os.family == "linux" - * @run main/othervm -XX:+EnableCoroutine -XX:+UseWispMonitor -Dcom.alibaba.transparentAsync=true -XX:ActiveProcessorCount=2 JStackTest + * @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:+EnableCoroutine -XX:+UseWispMonitor -Dcom.alibaba.transparentAsync=true -XX:ActiveProcessorCount=2 JStackTest */ import com.alibaba.wisp.engine.WispEngine; diff --git a/test/runtime/coroutine/MemLeakTest.java b/test/runtime/coroutine/MemLeakTest.java index c28e96d8c..e44be29be 100644 --- a/test/runtime/coroutine/MemLeakTest.java +++ b/test/runtime/coroutine/MemLeakTest.java @@ -23,7 +23,7 @@ * @test * @summary test of memory leak while creating and destroying coroutine/thread * @requires os.family == "linux" - * @run main/othervm -XX:+EnableCoroutine -Xmx10m -Xms10m MemLeakTest + * @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:+EnableCoroutine -Xmx10m -Xms10m MemLeakTest */ import java.dyn.Coroutine; diff --git a/test/runtime/coroutine/MultiCoroutineStackTest.java b/test/runtime/coroutine/MultiCoroutineStackTest.java index e7cc4c90b..f582a8060 100644 --- a/test/runtime/coroutine/MultiCoroutineStackTest.java +++ b/test/runtime/coroutine/MultiCoroutineStackTest.java @@ -24,7 +24,7 @@ * @library /testlibrary * @summary Test jstack coroutine output * @requires os.family == "linux" - * @run main/othervm -XX:+EnableCoroutine -Dcom.alibaba.transparentAsync=true -XX:+UseWispMonitor MultiCoroutineStackTest + * @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:+EnableCoroutine -Dcom.alibaba.transparentAsync=true -XX:+UseWispMonitor MultiCoroutineStackTest */ import com.alibaba.wisp.engine.WispEngine; diff --git a/test/runtime/coroutine/PreemptExceptionTest.java b/test/runtime/coroutine/PreemptExceptionTest.java index 8f18139c1..aa1af4757 100644 --- a/test/runtime/coroutine/PreemptExceptionTest.java +++ b/test/runtime/coroutine/PreemptExceptionTest.java @@ -24,7 +24,7 @@ * @library /testlibrary * @summary test wisp preempt * @requires os.family == "linux" - * @run main/othervm -XX:+EnableCoroutine -Dcom.alibaba.wisp.transparentWispSwitch=true -Dcom.alibaba.wisp.carrierEngines=1 -Dcom.alibaba.wisp.enableHandOff=true PreemptExceptionTest + * @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:+EnableCoroutine -Dcom.alibaba.wisp.transparentWispSwitch=true -Dcom.alibaba.wisp.carrierEngines=1 -Dcom.alibaba.wisp.enableHandOff=true PreemptExceptionTest */ import java.security.MessageDigest; diff --git a/test/runtime/coroutine/PreemptWispInternalBugTest.java b/test/runtime/coroutine/PreemptWispInternalBugTest.java index d386ff6ce..73843c22a 100644 --- a/test/runtime/coroutine/PreemptWispInternalBugTest.java +++ b/test/runtime/coroutine/PreemptWispInternalBugTest.java @@ -42,6 +42,7 @@ public class PreemptWispInternalBugTest { if (args.length == 0) { for (int i = 0; i < tasks.length; i++) { ProcessBuilder pb = com.oracle.java.testlibrary.ProcessTools.createJavaProcessBuilder( + "-XX:+UnlockExperimentalVMOptions", "-XX:+UseWisp2", "-XX:+UnlockDiagnosticVMOptions", "-XX:+VerboseWisp", "-XX:-Inline", PreemptWispInternalBugTest.class.getName(), tasks[i]); com.oracle.java.testlibrary.OutputAnalyzer output = new com.oracle.java.testlibrary.OutputAnalyzer(pb.start()); diff --git a/test/runtime/coroutine/TestAvoidDeoptCoroutineMethod.java b/test/runtime/coroutine/TestAvoidDeoptCoroutineMethod.java index 71e38c2e0..bc81eacd7 100644 --- a/test/runtime/coroutine/TestAvoidDeoptCoroutineMethod.java +++ b/test/runtime/coroutine/TestAvoidDeoptCoroutineMethod.java @@ -24,7 +24,7 @@ * @library /testlibrary /testlibrary/whitebox * @build TestAvoidDeoptCoroutineMethod * @run main ClassFileInstaller sun.hotspot.WhiteBox - * @run main/othervm -XX:+EnableCoroutine -Xmx10m -Xms10m -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI TestAvoidDeoptCoroutineMethod + * @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:+EnableCoroutine -Xmx10m -Xms10m -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI TestAvoidDeoptCoroutineMethod * @summary test avoid coroutine intrinsic method to be deoptimized * @requires os.family == "linux" */ diff --git a/test/runtime/coroutine/TestInvokeDynamicInterruption.java b/test/runtime/coroutine/TestInvokeDynamicInterruption.java index db31468b0..d90f4ea58 100644 --- a/test/runtime/coroutine/TestInvokeDynamicInterruption.java +++ b/test/runtime/coroutine/TestInvokeDynamicInterruption.java @@ -24,7 +24,7 @@ * @summary Test invoke dynamic class for lambda with interrupt * @requires os.family == "linux" * @library /testlibrary - * @run main/othervm -XX:+EnableCoroutine -Dcom.alibaba.wisp.transparentWispSwitch=true -XX:+UseWispMonitor -Dcom.alibaba.wisp.enableHandOff=false -XX:+AllowParallelDefineClass TestInvokeDynamicInterruption + * @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:+EnableCoroutine -Dcom.alibaba.wisp.transparentWispSwitch=true -XX:+UseWispMonitor -Dcom.alibaba.wisp.enableHandOff=false -XX:+AllowParallelDefineClass TestInvokeDynamicInterruption */ import com.alibaba.wisp.engine.WispEngine; diff --git a/test/runtime/coroutine/TestPreserveFramePointer.java b/test/runtime/coroutine/TestPreserveFramePointer.java index 6692b5308..0654974e8 100644 --- a/test/runtime/coroutine/TestPreserveFramePointer.java +++ b/test/runtime/coroutine/TestPreserveFramePointer.java @@ -23,10 +23,10 @@ * @test * @summary PreserveFramePointer for coroutine stack backtrace test * @requires os.family == "linux" - * @run main/othervm -XX:-UseBiasedLocking -XX:+EnableCoroutine -XX:+UseWispMonitor -Dcom.alibaba.wisp.transparentWispSwitch=true -Dcom.alibaba.wisp.version=2 -Xcomp -XX:TieredStopAtLevel=1 -XX:+PreserveFramePointer TestPreserveFramePointer - * @run main/othervm -XX:-UseBiasedLocking -XX:+EnableCoroutine -XX:+UseWispMonitor -Dcom.alibaba.wisp.transparentWispSwitch=true -Dcom.alibaba.wisp.version=2 -Xcomp -XX:TieredStopAtLevel=1 -XX:-PreserveFramePointer TestPreserveFramePointer - * @run main/othervm -XX:-UseBiasedLocking -XX:+EnableCoroutine -XX:+UseWispMonitor -Dcom.alibaba.wisp.transparentWispSwitch=true -Dcom.alibaba.wisp.version=2 -Xcomp -XX:-TieredCompilation -XX:+PreserveFramePointer TestPreserveFramePointer - * @run main/othervm -XX:-UseBiasedLocking -XX:+EnableCoroutine -XX:+UseWispMonitor -Dcom.alibaba.wisp.transparentWispSwitch=true -Dcom.alibaba.wisp.version=2 -Xcomp -XX:-TieredCompilation -XX:-PreserveFramePointer TestPreserveFramePointer + * @run main/othervm -XX:-UseBiasedLocking -XX:+UnlockExperimentalVMOptions -XX:+EnableCoroutine -XX:+UseWispMonitor -Dcom.alibaba.wisp.transparentWispSwitch=true -Dcom.alibaba.wisp.version=2 -Xcomp -XX:TieredStopAtLevel=1 -XX:+PreserveFramePointer TestPreserveFramePointer + * @run main/othervm -XX:-UseBiasedLocking -XX:+UnlockExperimentalVMOptions -XX:+EnableCoroutine -XX:+UseWispMonitor -Dcom.alibaba.wisp.transparentWispSwitch=true -Dcom.alibaba.wisp.version=2 -Xcomp -XX:TieredStopAtLevel=1 -XX:-PreserveFramePointer TestPreserveFramePointer + * @run main/othervm -XX:-UseBiasedLocking -XX:+UnlockExperimentalVMOptions -XX:+EnableCoroutine -XX:+UseWispMonitor -Dcom.alibaba.wisp.transparentWispSwitch=true -Dcom.alibaba.wisp.version=2 -Xcomp -XX:-TieredCompilation -XX:+PreserveFramePointer TestPreserveFramePointer + * @run main/othervm -XX:-UseBiasedLocking -XX:+UnlockExperimentalVMOptions -XX:+EnableCoroutine -XX:+UseWispMonitor -Dcom.alibaba.wisp.transparentWispSwitch=true -Dcom.alibaba.wisp.version=2 -Xcomp -XX:-TieredCompilation -XX:-PreserveFramePointer TestPreserveFramePointer */ diff --git a/test/runtime/coroutine/Wisp2FlagCompatibilityCheckTest.java b/test/runtime/coroutine/Wisp2FlagCompatibilityCheckTest.java index 118dcecda..78ab35c33 100644 --- a/test/runtime/coroutine/Wisp2FlagCompatibilityCheckTest.java +++ b/test/runtime/coroutine/Wisp2FlagCompatibilityCheckTest.java @@ -34,28 +34,36 @@ public class Wisp2FlagCompatibilityCheckTest { ProcessBuilder pb; OutputAnalyzer output; - pb = ProcessTools.createJavaProcessBuilder("-XX:+UseWisp2", + pb = ProcessTools.createJavaProcessBuilder( + "-XX:+UnlockExperimentalVMOptions", + "-XX:+UseWisp2", "-XX:-UseWispMonitor", "-version"); output = new OutputAnalyzer(pb.start()); output.shouldContain("Wisp2 needs to enable -XX:+UseWispMonitor"); System.out.println(output.getOutput()); - pb = ProcessTools.createJavaProcessBuilder("-XX:+UseWisp2", + pb = ProcessTools.createJavaProcessBuilder( + "-XX:+UnlockExperimentalVMOptions", + "-XX:+UseWisp2", "-XX:-EnableCoroutine", "-version"); output = new OutputAnalyzer(pb.start()); output.shouldContain("Wisp2 needs to enable -XX:+EnableCoroutine"); System.out.println(output.getOutput()); - pb = ProcessTools.createJavaProcessBuilder("-XX:+UseWisp2", + pb = ProcessTools.createJavaProcessBuilder( + "-XX:+UnlockExperimentalVMOptions", + "-XX:+UseWisp2", "-XX:+UseBiasedLocking", "-version"); output = new OutputAnalyzer(pb.start()); output.shouldContain("Biased Locking is not supported with Wisp2"); System.out.println(output.getOutput()); - pb = ProcessTools.createJavaProcessBuilder("-XX:+EnableCoroutine", + pb = ProcessTools.createJavaProcessBuilder( + "-XX:+UnlockExperimentalVMOptions", + "-XX:+EnableCoroutine", "-XX:+UseBiasedLocking", "-version"); output = new OutputAnalyzer(pb.start()); diff --git a/test/runtime/coroutine/Wisp2SwitchTest.java b/test/runtime/coroutine/Wisp2SwitchTest.java index af1559613..ccee98867 100644 --- a/test/runtime/coroutine/Wisp2SwitchTest.java +++ b/test/runtime/coroutine/Wisp2SwitchTest.java @@ -3,7 +3,7 @@ * @summary test wisp2 switch * @requires os.family == "linux" * @library /testlibrary - * @run main/othervm -XX:+UseWisp2 Wisp2SwitchTest + * @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:+UseWisp2 Wisp2SwitchTest */ diff --git a/test/runtime/coroutine/Wisp2SwitchTest2.java b/test/runtime/coroutine/Wisp2SwitchTest2.java index 4dcb251ea..e4dcfc575 100644 --- a/test/runtime/coroutine/Wisp2SwitchTest2.java +++ b/test/runtime/coroutine/Wisp2SwitchTest2.java @@ -24,7 +24,7 @@ * @summary test XX:+UseWisp2 switch with -Dcom.alibaba.wisp.allThreadAsWisp=false * @requires os.family == "linux" * @library /testlibrary - * @run main/othervm -XX:+UseWisp2 -Dcom.alibaba.wisp.allThreadAsWisp=false Wisp2SwitchTest2 + * @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:+UseWisp2 -Dcom.alibaba.wisp.allThreadAsWisp=false Wisp2SwitchTest2 */ diff --git a/test/runtime/coroutine/WispClinitTest.java b/test/runtime/coroutine/WispClinitTest.java index 4873957e5..98b62b262 100644 --- a/test/runtime/coroutine/WispClinitTest.java +++ b/test/runtime/coroutine/WispClinitTest.java @@ -24,7 +24,7 @@ * @library /testlibrary * @summary test clinit wait in coroutine * @requires os.family == "linux" - * @run main/othervm -XX:-UseBiasedLocking -XX:+EnableCoroutine -XX:+UseWispMonitor -Dcom.alibaba.wisp.transparentWispSwitch=true WispClinitTest + * @run main/othervm -XX:-UseBiasedLocking -XX:+UnlockExperimentalVMOptions -XX:+EnableCoroutine -XX:+UseWispMonitor -Dcom.alibaba.wisp.transparentWispSwitch=true WispClinitTest */ diff --git a/test/runtime/coroutine/WispEmitNewGuardTest.java b/test/runtime/coroutine/WispEmitNewGuardTest.java index 75f1d19fd..03837ed9a 100644 --- a/test/runtime/coroutine/WispEmitNewGuardTest.java +++ b/test/runtime/coroutine/WispEmitNewGuardTest.java @@ -24,7 +24,7 @@ * @library /testlibrary * @summary test emit_guard_for_new in C2 will add control for load * @requires os.family == "linux" - * @run main/othervm -Xcomp -XX:-TieredCompilation -Xbatch -XX:CompileOnly=WispEmitNewGuardTest.testMethod -XX:+PrintCompilation -XX:+EnableCoroutine -XX:+UseWispMonitor -Dcom.alibaba.wisp.transparentWispSwitch=true WispEmitNewGuardTest + * @run main/othervm -Xcomp -XX:-TieredCompilation -Xbatch -XX:CompileOnly=WispEmitNewGuardTest.testMethod -XX:+PrintCompilation -XX:+UnlockExperimentalVMOptions -XX:+EnableCoroutine -XX:+UseWispMonitor -Dcom.alibaba.wisp.transparentWispSwitch=true WispEmitNewGuardTest */ diff --git a/test/runtime/coroutine/WispPreemptBugTest.java b/test/runtime/coroutine/WispPreemptBugTest.java index 339c482f6..1b3518d4b 100644 --- a/test/runtime/coroutine/WispPreemptBugTest.java +++ b/test/runtime/coroutine/WispPreemptBugTest.java @@ -23,7 +23,7 @@ * @test * @summary verify vm not crash when we're preempted frequently * @requires os.family == "linux" - * @run main/othervm -XX:ActiveProcessorCount=1 -XX:+UseWisp2 WispPreemptBugTest + * @run main/othervm -XX:ActiveProcessorCount=1 -XX:+UnlockExperimentalVMOptions -XX:+UseWisp2 WispPreemptBugTest */ import java.security.MessageDigest; diff --git a/test/runtime/coroutine/WispStealMonitorC2Test.java b/test/runtime/coroutine/WispStealMonitorC2Test.java index 25da7bc11..f5779a827 100644 --- a/test/runtime/coroutine/WispStealMonitorC2Test.java +++ b/test/runtime/coroutine/WispStealMonitorC2Test.java @@ -23,7 +23,7 @@ * @test * @summary c2 compiler monitorenter stub steal test * @requires os.family == "linux" - * @run main/othervm/timeout=60 -XX:+UseWisp2 -Dcom.alibaba.wisp.schedule.stealRetry=100 -Dcom.alibaba.wisp.schedule.helpStealRetry=100 WispStealMonitorC2Test + * @run main/othervm/timeout=60 -XX:+UnlockExperimentalVMOptions -XX:+UseWisp2 -Dcom.alibaba.wisp.schedule.stealRetry=100 -Dcom.alibaba.wisp.schedule.helpStealRetry=100 WispStealMonitorC2Test */ import com.alibaba.wisp.engine.WispEngine; diff --git a/test/runtime/coroutine/attachTest.sh b/test/runtime/coroutine/attachTest.sh index 98e214a8e..de4b3f211 100644 --- a/test/runtime/coroutine/attachTest.sh +++ b/test/runtime/coroutine/attachTest.sh @@ -48,4 +48,4 @@ echo Agent-Class: ${AGENT} >> ${AGENT}.mf ${TESTJAVA}/bin/jar ${TESTTOOLVMOPTS} cvfm ${AGENT}.jar ${AGENT}.mf ${AGENT}*.class -${TESTJAVA}/bin/java -ea -esa -XX:+UseWisp2 AttachTest & \ No newline at end of file +${TESTJAVA}/bin/java -ea -esa -XX:+UnlockExperimentalVMOptions -XX:+UseWisp2 AttachTest & \ No newline at end of file diff --git a/test/runtime/coroutine/c1AssertFailTest.sh b/test/runtime/coroutine/c1AssertFailTest.sh index 926663e76..316c79774 100644 --- a/test/runtime/coroutine/c1AssertFailTest.sh +++ b/test/runtime/coroutine/c1AssertFailTest.sh @@ -28,7 +28,7 @@ ## @run shell c1AssertFailTest.sh -${TESTJAVA}/bin/java -Xcomp -XX:-UseBiasedLocking -XX:+EnableCoroutine -XX:+UseWispMonitor -Dcom.alibaba.transparentAsync=true & +${TESTJAVA}/bin/java -Xcomp -XX:-UseBiasedLocking -XX:+UnlockExperimentalVMOptions -XX:+EnableCoroutine -XX:+UseWispMonitor -Dcom.alibaba.transparentAsync=true & PID=$! diff --git a/test/runtime/coroutine/coroutineBreakpointSwitchToTest.sh b/test/runtime/coroutine/coroutineBreakpointSwitchToTest.sh index 265ddc4bb..08ad57ff5 100644 --- a/test/runtime/coroutine/coroutineBreakpointSwitchToTest.sh +++ b/test/runtime/coroutine/coroutineBreakpointSwitchToTest.sh @@ -62,6 +62,6 @@ gcc -DLINUX -fPIC -shared -o libtest.so \ -I${COMPILEJAVA}/include -I${COMPILEJAVA}/include/linux \ ${TESTSRC}/coroutineBreakpointSwitchToTest.c -${JAVA} -agentpath:libtest.so -XX:-UseBiasedLocking -XX:+EnableCoroutine -XX:+UseWispMonitor -Dcom.alibaba.transparentAsync=true -cp ${TESTCLASSES} SimpleWispTest +${JAVA} -agentpath:libtest.so -XX:-UseBiasedLocking -XX:+UnlockExperimentalVMOptions -XX:+EnableCoroutine -XX:+UseWispMonitor -Dcom.alibaba.transparentAsync=true -cp ${TESTCLASSES} SimpleWispTest exit $? diff --git a/test/runtime/coroutine/jniDetachThreadHoldingMonitorTest.c b/test/runtime/coroutine/jniDetachThreadHoldingMonitorTest.c index 0f25a0617..219377921 100644 --- a/test/runtime/coroutine/jniDetachThreadHoldingMonitorTest.c +++ b/test/runtime/coroutine/jniDetachThreadHoldingMonitorTest.c @@ -36,13 +36,14 @@ main() { JNIEnv *env; JavaVMInitArgs vm_args; /* JDK/JRE 6 VM initialization arguments */ - JavaVMOption options[4]; - options[0].optionString = "-XX:+EnableCoroutine"; - options[1].optionString = "-XX:-UseBiasedLocking"; - options[2].optionString = "-Dcom.alibaba.transparentAsync=true"; - options[3].optionString = "-XX:+UseWispMonitor"; + JavaVMOption options[5]; + options[0].optionString = "-XX:+UnlockExperimentalVMOptions"; + options[1].optionString = "-XX:+EnableCoroutine"; + options[2].optionString = "-XX:-UseBiasedLocking"; + options[3].optionString = "-Dcom.alibaba.transparentAsync=true"; + options[4].optionString = "-XX:+UseWispMonitor"; vm_args.version = JNI_VERSION_1_6; - vm_args.nOptions = 4; + vm_args.nOptions = 5; vm_args.options = options; vm_args.ignoreUnrecognized = false; /* load and initialize a Java VM, return a JNI interface diff --git a/test/runtime/coroutine/jniMonitorExitTest.c b/test/runtime/coroutine/jniMonitorExitTest.c index 4fa5b01a5..725a995c3 100644 --- a/test/runtime/coroutine/jniMonitorExitTest.c +++ b/test/runtime/coroutine/jniMonitorExitTest.c @@ -36,13 +36,14 @@ main() { JNIEnv *env; JavaVMInitArgs vm_args; /* JDK/JRE 6 VM initialization arguments */ - JavaVMOption options[4]; - options[0].optionString = "-XX:+EnableCoroutine"; - options[1].optionString = "-XX:-UseBiasedLocking"; - options[2].optionString = "-Dcom.alibaba.transparentAsync=true"; - options[3].optionString = "-XX:+UseWispMonitor"; + JavaVMOption options[5]; + options[0].optionString = "-XX:+UnlockExperimentalVMOptions"; + options[1].optionString = "-XX:+EnableCoroutine"; + options[2].optionString = "-XX:-UseBiasedLocking"; + options[3].optionString = "-Dcom.alibaba.transparentAsync=true"; + options[4].optionString = "-XX:+UseWispMonitor"; vm_args.version = JNI_VERSION_1_6; - vm_args.nOptions = 4; + vm_args.nOptions = 5; vm_args.options = options; vm_args.ignoreUnrecognized = false; /* load and initialize a Java VM, return a JNI interface diff --git a/test/runtime/coroutine/jvmtiWispMonitorTest.sh b/test/runtime/coroutine/jvmtiWispMonitorTest.sh index ce76673db..84d13e118 100644 --- a/test/runtime/coroutine/jvmtiWispMonitorTest.sh +++ b/test/runtime/coroutine/jvmtiWispMonitorTest.sh @@ -28,7 +28,7 @@ ## @run shell jvmtiWispMonitorTest.sh -${TESTJAVA}/bin/java -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=localhost:5005 -XX:+EnableCoroutine -XX:+UseWispMonitor & +${TESTJAVA}/bin/java -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=localhost:5005 -XX:+UnlockExperimentalVMOptions -XX:+EnableCoroutine -XX:+UseWispMonitor & PID=$! diff --git a/test/runtime/coroutine/logCompilationTest.sh b/test/runtime/coroutine/logCompilationTest.sh index fb3a5ec1c..251321413 100644 --- a/test/runtime/coroutine/logCompilationTest.sh +++ b/test/runtime/coroutine/logCompilationTest.sh @@ -50,6 +50,6 @@ esac JAVA=${TESTJAVA}${FS}bin${FS}java -${JAVA} -XX:+UnlockDiagnosticVMOptions -XX:+EnableCoroutine -XX:+UseWispMonitor -Dcom.alibaba.transparentAsync=true -XX:+LogCompilation -Xcomp -cp ${TESTCLASSES} SimpleWispTest +${JAVA} -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+EnableCoroutine -XX:+UseWispMonitor -Dcom.alibaba.transparentAsync=true -XX:+LogCompilation -Xcomp -cp ${TESTCLASSES} SimpleWispTest exit $? \ No newline at end of file diff --git a/test/runtime/coroutine/premainWithWispMonitorTest.sh b/test/runtime/coroutine/premainWithWispMonitorTest.sh index 42247b3c3..6d2967c75 100644 --- a/test/runtime/coroutine/premainWithWispMonitorTest.sh +++ b/test/runtime/coroutine/premainWithWispMonitorTest.sh @@ -53,5 +53,5 @@ done ${TESTJAVA}/bin/jar ${TESTTOOLVMOPTS} cvfm ${AGENT}.jar ${AGENT}.mf ${AGENT}*.class -${TESTJAVA}/bin/java -XX:+EnableCoroutine -Dcom.alibaba.transparentAsync=true -XX:+UseWispMonitor \ +${TESTJAVA}/bin/java -XX:+UnlockExperimentalVMOptions -XX:+EnableCoroutine -Dcom.alibaba.transparentAsync=true -XX:+UseWispMonitor \ -javaagent:PremainWithWispMonitorTest.jar PremainWithWispMonitorTest -- GitLab