< prev index next >
test/compiler/rtm/locking/TestRTMAfterNonRTMDeopt.java
Print this page
*** 29,38 ****
--- 29,39 ----
* method's RTM state. And if we don't use RTMDeopt, then
* RTM state remain the same after such deoptimization.
* @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
*** 43,60 ****
import compiler.testlibrary.rtm.AbortProvoker;
import compiler.testlibrary.rtm.CompilableTest;
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.internal.misc.Unsafe;
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;
/**
* To verify that with +UseRTMDeopt method's RTM state will be
--- 44,57 ----
*** 79,97 ****
* change it's state to UseRTM, because we use RTMAbortRatio=100
* and low RTMLockingThreshold, so at this point actual abort
* ratio will be below 100% and there should be enough lock
* attempts to recompile method without RTM profiling.
*/
! public class TestRTMAfterNonRTMDeopt extends CommandLineOptionTest {
private static final int ABORT_THRESHOLD = 1000;
private static final String RANGE_CHECK = "range_check";
- private TestRTMAfterNonRTMDeopt() {
- super(new AndPredicate(new SupportedCPU(), new SupportedOS(), new SupportedVM()));
- }
-
- @Override
protected void runTestCases() throws Throwable {
verifyRTMAfterDeopt(false, false);
verifyRTMAfterDeopt(true, false);
verifyRTMAfterDeopt(false, true);
--- 76,89 ----
* change it's state to UseRTM, because we use RTMAbortRatio=100
* and low RTMLockingThreshold, so at this point actual abort
* ratio will be below 100% and there should be enough lock
* attempts to recompile method without RTM profiling.
*/
! public class TestRTMAfterNonRTMDeopt {
private static final int ABORT_THRESHOLD = 1000;
private static final String RANGE_CHECK = "range_check";
protected void runTestCases() throws Throwable {
verifyRTMAfterDeopt(false, false);
verifyRTMAfterDeopt(true, false);
verifyRTMAfterDeopt(false, true);
*** 212,220 ****
}
}
}
public static void main(String args[]) throws Throwable {
! new TestRTMAfterNonRTMDeopt().test();
}
}
--- 204,212 ----
}
}
}
public static void main(String args[]) throws Throwable {
! new TestRTMAfterNonRTMDeopt().runTestCases();
}
}
< prev index next >