25 /**
26 * @test
27 * @bug 8031320
28 * @summary Verify UseRTMForStackLocks option processing on CPU with
29 * rtm support when VM supports rtm locking.
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.TestUseRTMForStackLocksOptionOnSupportedConfig
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.process.ExitCode;
47 import jdk.test.lib.cli.CommandLineOptionTest;
48 import jdk.test.lib.cli.predicate.AndPredicate;
49
50 public class TestUseRTMForStackLocksOptionOnSupportedConfig
51 extends CommandLineOptionTest {
52 private static final String DEFAULT_VALUE = "false";
53
54 private TestUseRTMForStackLocksOptionOnSupportedConfig() {
55 super(new AndPredicate(new SupportedVM(), new SupportedCPU()));
56 }
57
58 @Override
59 public void runTestCases() throws Throwable {
60 String errorMessage
61 = CommandLineOptionTest.getExperimentalOptionErrorMessage(
62 "UseRTMForStackLocks");
63 String warningMessage
64 = RTMGenericCommandLineOptionTest.RTM_FOR_STACK_LOCKS_WARNING;
65
66 String shouldFailMessage = " VM option 'UseRTMForStackLocks' is "
67 + "experimental%nJVM startup should fail without "
68 + "-XX:+UnlockExperimentalVMOptions flag";
69
70 CommandLineOptionTest.verifySameJVMStartup(
71 new String[] { errorMessage }, null, shouldFailMessage,
72 shouldFailMessage + "%nError message expected", ExitCode.FAIL,
73 "-XX:+UseRTMForStackLocks");
74 String shouldPassMessage = " VM option 'UseRTMForStackLocks'"
75 + " is experimental%nJVM startup should pass with "
|
25 /**
26 * @test
27 * @bug 8031320
28 * @summary Verify UseRTMForStackLocks option processing on CPU with
29 * rtm support when VM supports rtm locking.
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.TestUseRTMForStackLocksOptionOnSupportedConfig
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.process.ExitCode;
48 import jdk.test.lib.cli.CommandLineOptionTest;
49 import jdk.test.lib.cli.predicate.AndPredicate;
50
51 public class TestUseRTMForStackLocksOptionOnSupportedConfig
52 extends CommandLineOptionTest {
53 private static final String DEFAULT_VALUE = "false";
54
55 private TestUseRTMForStackLocksOptionOnSupportedConfig() {
56 super(new AndPredicate(new SupportedCPU(), new SupportedOS(), new SupportedVM()));
57 }
58
59 @Override
60 public void runTestCases() throws Throwable {
61 String errorMessage
62 = CommandLineOptionTest.getExperimentalOptionErrorMessage(
63 "UseRTMForStackLocks");
64 String warningMessage
65 = RTMGenericCommandLineOptionTest.RTM_FOR_STACK_LOCKS_WARNING;
66
67 String shouldFailMessage = " VM option 'UseRTMForStackLocks' is "
68 + "experimental%nJVM startup should fail without "
69 + "-XX:+UnlockExperimentalVMOptions flag";
70
71 CommandLineOptionTest.verifySameJVMStartup(
72 new String[] { errorMessage }, null, shouldFailMessage,
73 shouldFailMessage + "%nError message expected", ExitCode.FAIL,
74 "-XX:+UseRTMForStackLocks");
75 String shouldPassMessage = " VM option 'UseRTMForStackLocks'"
76 + " is experimental%nJVM startup should pass with "
|