25 /**
26 * @test
27 * @bug 8031320
28 * @summary Verify UseRTMDeopt option processing on CPUs without rtm support
29 * or on VMs without rtm locking support.
30 * @library /test/lib /
31 * @modules java.base/jdk.internal.misc
32 * java.management
33 *
34 * @build sun.hotspot.WhiteBox
35 * @run driver ClassFileInstaller sun.hotspot.WhiteBox
36 * sun.hotspot.WhiteBox$WhiteBoxPermission
37 * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions
38 * -XX:+WhiteBoxAPI
39 * compiler.rtm.cli.TestUseRTMDeoptOptionOnUnsupportedConfig
40 */
41
42 package compiler.rtm.cli;
43
44 import compiler.testlibrary.rtm.predicate.SupportedCPU;
45 import compiler.testlibrary.rtm.predicate.SupportedVM;
46 import jdk.test.lib.cli.CommandLineOptionTest;
47 import jdk.test.lib.cli.predicate.AndPredicate;
48 import jdk.test.lib.cli.predicate.NotPredicate;
49
50 public class TestUseRTMDeoptOptionOnUnsupportedConfig
51 extends RTMGenericCommandLineOptionTest {
52 private static final String DEFAULT_VALUE = "false";
53
54 private TestUseRTMDeoptOptionOnUnsupportedConfig() {
55 super(new NotPredicate(new AndPredicate(new SupportedCPU(),
56 new SupportedVM())),
57 "UseRTMDeopt", true, false,
58 TestUseRTMDeoptOptionOnUnsupportedConfig.DEFAULT_VALUE,
59 "true");
60 }
61
62 @Override
63 protected void runX86SupportedVMTestCases() throws Throwable {
64 super.verifyJVMStartup();
65 // verify default value
66 CommandLineOptionTest.verifyOptionValueForSameVM(optionName,
67 defaultValue, String.format("'%s' should have '%s' "
68 + "default value on unsupported configs.",
69 optionName, DEFAULT_VALUE));
70 // verify that until RTMLocking is not used, value
71 // will be set to default false.
72 CommandLineOptionTest.verifyOptionValueForSameVM(optionName,
73 defaultValue, String.format("'%s' should be off on unsupported"
74 + " configs even if '-XX:+%s' flag set", optionName,
75 optionName),
76 "-XX:+UseRTMDeopt");
|
25 /**
26 * @test
27 * @bug 8031320
28 * @summary Verify UseRTMDeopt option processing on CPUs without rtm support
29 * or on VMs without rtm locking support.
30 * @library /test/lib /
31 * @modules java.base/jdk.internal.misc
32 * java.management
33 *
34 * @build sun.hotspot.WhiteBox
35 * @run driver ClassFileInstaller sun.hotspot.WhiteBox
36 * sun.hotspot.WhiteBox$WhiteBoxPermission
37 * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions
38 * -XX:+WhiteBoxAPI
39 * compiler.rtm.cli.TestUseRTMDeoptOptionOnUnsupportedConfig
40 */
41
42 package compiler.rtm.cli;
43
44 import compiler.testlibrary.rtm.predicate.SupportedCPU;
45 import compiler.testlibrary.rtm.predicate.SupportedOS;
46 import compiler.testlibrary.rtm.predicate.SupportedVM;
47 import jdk.test.lib.cli.CommandLineOptionTest;
48 import jdk.test.lib.cli.predicate.AndPredicate;
49 import jdk.test.lib.cli.predicate.NotPredicate;
50
51 public class TestUseRTMDeoptOptionOnUnsupportedConfig
52 extends RTMGenericCommandLineOptionTest {
53 private static final String DEFAULT_VALUE = "false";
54
55 private TestUseRTMDeoptOptionOnUnsupportedConfig() {
56 super(new NotPredicate(
57 new AndPredicate(new SupportedCPU(), new SupportedOS(), new SupportedVM())),
58 "UseRTMDeopt", true, false,
59 TestUseRTMDeoptOptionOnUnsupportedConfig.DEFAULT_VALUE,
60 "true");
61 }
62
63 @Override
64 protected void runX86SupportedVMTestCases() throws Throwable {
65 super.verifyJVMStartup();
66 // verify default value
67 CommandLineOptionTest.verifyOptionValueForSameVM(optionName,
68 defaultValue, String.format("'%s' should have '%s' "
69 + "default value on unsupported configs.",
70 optionName, DEFAULT_VALUE));
71 // verify that until RTMLocking is not used, value
72 // will be set to default false.
73 CommandLineOptionTest.verifyOptionValueForSameVM(optionName,
74 defaultValue, String.format("'%s' should be off on unsupported"
75 + " configs even if '-XX:+%s' flag set", optionName,
76 optionName),
77 "-XX:+UseRTMDeopt");
|