27 * @bug 8031320 |
27 * @bug 8031320 |
28 * @summary Verify that rtm locking is used for inflated locks. |
28 * @summary Verify that rtm locking is used for inflated locks. |
29 * @library /testlibrary /test/lib / |
29 * @library /testlibrary /test/lib / |
30 * @modules java.base/jdk.internal.misc |
30 * @modules java.base/jdk.internal.misc |
31 * java.management |
31 * java.management |
32 * @build TestUseRTMForInflatedLocks |
32 * @build compiler.rtm.locking.TestUseRTMForInflatedLocks |
33 * @run driver ClassFileInstaller sun.hotspot.WhiteBox |
33 * @run driver ClassFileInstaller sun.hotspot.WhiteBox |
34 * sun.hotspot.WhiteBox$WhiteBoxPermission |
34 * sun.hotspot.WhiteBox$WhiteBoxPermission |
35 * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions |
35 * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions |
36 * -XX:+WhiteBoxAPI TestUseRTMForInflatedLocks |
36 * -XX:+WhiteBoxAPI compiler.rtm.locking.TestUseRTMForInflatedLocks |
37 */ |
37 */ |
38 |
38 |
39 import java.util.List; |
39 package compiler.rtm.locking; |
40 |
40 |
41 import jdk.test.lib.*; |
41 import compiler.testlibrary.rtm.AbortProvoker; |
|
42 import compiler.testlibrary.rtm.AbortType; |
|
43 import compiler.testlibrary.rtm.RTMLockingStatistics; |
|
44 import compiler.testlibrary.rtm.RTMTestBase; |
|
45 import compiler.testlibrary.rtm.predicate.SupportedCPU; |
|
46 import compiler.testlibrary.rtm.predicate.SupportedVM; |
|
47 import jdk.test.lib.Asserts; |
|
48 import jdk.test.lib.OutputAnalyzer; |
42 import jdk.test.lib.cli.CommandLineOptionTest; |
49 import jdk.test.lib.cli.CommandLineOptionTest; |
43 import jdk.test.lib.cli.predicate.AndPredicate; |
50 import jdk.test.lib.cli.predicate.AndPredicate; |
44 import compiler.testlibrary.rtm.*; |
51 |
45 import compiler.testlibrary.rtm.predicate.SupportedCPU; |
52 import java.util.List; |
46 import compiler.testlibrary.rtm.predicate.SupportedVM; |
|
47 |
53 |
48 /** |
54 /** |
49 * Test verifies that RTM-based lock elision could be used for inflated locks |
55 * Test verifies that RTM-based lock elision could be used for inflated locks |
50 * by calling compiled method that use RTM-based lock elision and using |
56 * by calling compiled method that use RTM-based lock elision and using |
51 * manually inflated lock. |
57 * manually inflated lock. |