< prev index next >
test/compiler/rtm/locking/TestRTMDeoptOnHighAbortRatio.java
Print this page
@@ -27,10 +27,11 @@
* @summary Verify that on high abort ratio method will be recompiled
* without rtm locking.
* @library /test/lib /
* @modules java.base/jdk.internal.misc
* java.management
+ * @requires vm.flavor == "server" & !vm.emulatedClient & vm.rtm.cpu & vm.rtm.os
* @build sun.hotspot.WhiteBox
* @run driver ClassFileInstaller sun.hotspot.WhiteBox
* sun.hotspot.WhiteBox$WhiteBoxPermission
* @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions
* -XX:+WhiteBoxAPI
@@ -41,17 +42,13 @@
import compiler.testlibrary.rtm.AbortProvoker;
import compiler.testlibrary.rtm.AbortType;
import compiler.testlibrary.rtm.RTMLockingStatistics;
import compiler.testlibrary.rtm.RTMTestBase;
-import compiler.testlibrary.rtm.predicate.SupportedCPU;
-import compiler.testlibrary.rtm.predicate.SupportedOS;
-import compiler.testlibrary.rtm.predicate.SupportedVM;
import jdk.test.lib.Asserts;
import jdk.test.lib.process.OutputAnalyzer;
import jdk.test.lib.cli.CommandLineOptionTest;
-import jdk.test.lib.cli.predicate.AndPredicate;
import java.util.List;
/**
* Test verifies that on high abort ratio method wil be deoptimized with
@@ -59,19 +56,14 @@
* be used for that method.
* This test make asserts on total locks count done by compiled method,
* so in order to avoid issue with retriable locks -XX:RTMRetryCount=0 is used.
* For more details on that issue see {@link TestUseRTMAfterLockInflation}.
*/
-public class TestRTMDeoptOnHighAbortRatio extends CommandLineOptionTest {
+public class TestRTMDeoptOnHighAbortRatio {
private static final long ABORT_THRESHOLD
= AbortProvoker.DEFAULT_ITERATIONS / 2L;
- private TestRTMDeoptOnHighAbortRatio() {
- super(new AndPredicate(new SupportedCPU(), new SupportedOS(), new SupportedVM()));
- }
-
- @Override
protected void runTestCases() throws Throwable {
verifyDeopt(false);
verifyDeopt(true);
}
@@ -117,9 +109,9 @@
"After AbortThreshold was reached, method should be"
+ " recompiled without rtm lock eliding.");
}
public static void main(String args[]) throws Throwable {
- new TestRTMDeoptOnHighAbortRatio().test();
+ new TestRTMDeoptOnHighAbortRatio().runTestCases();
}
}
< prev index next >