Mercurial > hg > truffle
annotate test/compiler/rtm/cli/TestUseRTMForStackLocksOptionOnSupportedConfig.java @ 18579:77b55091cca1
removed object pool sharing across unique Contexts
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Sun, 30 Nov 2014 21:12:06 +0100 |
parents | 100f2b109432 |
children |
rev | line source |
---|---|
17872
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
1 /* |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
2 * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
4 * |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
5 * This code is free software; you can redistribute it and/or modify it |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
6 * under the terms of the GNU General Public License version 2 only, as |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
7 * published by the Free Software Foundation. |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
8 * |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
9 * This code is distributed in the hope that it will be useful, but WITHOUT |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
12 * version 2 for more details (a copy is included in the LICENSE file that |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
13 * accompanied this code). |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
14 * |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
15 * You should have received a copy of the GNU General Public License version |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
16 * 2 along with this work; if not, write to the Free Software Foundation, |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
18 * |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
20 * or visit www.oracle.com if you need additional information or have any |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
21 * questions. |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
22 * |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
23 */ |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
24 |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
25 /** |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
26 * @test |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
27 * @bug 8031320 |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
28 * @summary Verify UseRTMForStackLocks option processing on CPU with |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
29 * rtm support when VM supports rtm locking. |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
30 * @library /testlibrary /testlibrary/whitebox /compiler/testlibrary |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
31 * @build TestUseRTMForStackLocksOptionOnSupportedConfig |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
32 * @run main ClassFileInstaller sun.hotspot.WhiteBox |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
33 * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
34 * -XX:+WhiteBoxAPI |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
35 * TestUseRTMForStackLocksOptionOnSupportedConfig |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
36 */ |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
37 |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
38 import com.oracle.java.testlibrary.*; |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
39 import com.oracle.java.testlibrary.cli.*; |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
40 import com.oracle.java.testlibrary.cli.predicate.AndPredicate; |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
41 import rtm.predicate.SupportedCPU; |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
42 import rtm.predicate.SupportedVM; |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
43 |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
44 public class TestUseRTMForStackLocksOptionOnSupportedConfig |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
45 extends CommandLineOptionTest { |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
46 private static final String DEFAULT_VALUE = "false"; |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
47 |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
48 private TestUseRTMForStackLocksOptionOnSupportedConfig() { |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
49 super(new AndPredicate(new SupportedVM(), new SupportedCPU())); |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
50 } |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
51 |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
52 @Override |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
53 public void runTestCases() throws Throwable { |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
54 String errorMessage |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
55 = CommandLineOptionTest.getExperimentalOptionErrorMessage( |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
56 "UseRTMForStackLocks"); |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
57 String warningMessage |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
58 = RTMGenericCommandLineOptionTest.RTM_FOR_STACK_LOCKS_WARNING; |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
59 |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
60 CommandLineOptionTest.verifySameJVMStartup( |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
61 new String[] { errorMessage }, null, ExitCode.FAIL, |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
62 "-XX:+UseRTMForStackLocks"); |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
63 // verify that we get a warning when trying to use rtm for stack |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
64 // lock, but not using rtm locking. |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
65 CommandLineOptionTest.verifySameJVMStartup( |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
66 new String[] { warningMessage }, null, ExitCode.OK, |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
67 CommandLineOptionTest.UNLOCK_EXPERIMENTAL_VM_OPTIONS, |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
68 "-XX:+UseRTMForStackLocks", |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
69 "-XX:-UseRTMLocking"); |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
70 // verify that we don't get a warning when no using rtm for stack |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
71 // lock and not using rtm locking. |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
72 CommandLineOptionTest.verifySameJVMStartup(null, |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
73 new String[] { warningMessage }, ExitCode.OK, |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
74 CommandLineOptionTest.UNLOCK_EXPERIMENTAL_VM_OPTIONS, |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
75 "-XX:-UseRTMForStackLocks", |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
76 "-XX:-UseRTMLocking"); |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
77 // verify that we don't get a warning when using rtm for stack |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
78 // lock and using rtm locking. |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
79 CommandLineOptionTest.verifySameJVMStartup(null, |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
80 new String[] { warningMessage }, ExitCode.OK, |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
81 CommandLineOptionTest.UNLOCK_EXPERIMENTAL_VM_OPTIONS, |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
82 "-XX:+UseRTMForStackLocks", |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
83 "-XX:+UseRTMLocking"); |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
84 // verify that default value if false |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
85 CommandLineOptionTest.verifyOptionValueForSameVM("UseRTMForStackLocks", |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
86 TestUseRTMForStackLocksOptionOnSupportedConfig.DEFAULT_VALUE, |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
87 CommandLineOptionTest.UNLOCK_EXPERIMENTAL_VM_OPTIONS); |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
88 // verify that default value is false even with +UseRTMLocking |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
89 CommandLineOptionTest.verifyOptionValueForSameVM("UseRTMForStackLocks", |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
90 TestUseRTMForStackLocksOptionOnSupportedConfig.DEFAULT_VALUE, |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
91 CommandLineOptionTest.UNLOCK_EXPERIMENTAL_VM_OPTIONS, |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
92 "-XX:+UseRTMLocking"); |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
93 // verify that we can turn the option on |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
94 CommandLineOptionTest.verifyOptionValueForSameVM("UseRTMForStackLocks", |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
95 "true", CommandLineOptionTest.UNLOCK_EXPERIMENTAL_VM_OPTIONS, |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
96 "-XX:+UseRTMLocking", "-XX:+UseRTMForStackLocks"); |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
97 } |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
98 |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
99 public static void main(String args[]) throws Throwable { |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
100 new TestUseRTMForStackLocksOptionOnSupportedConfig().test(); |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
101 } |
100f2b109432
8039496: Add sanity tests on RTM-related command line options
iignatyev
parents:
diff
changeset
|
102 } |