29 * specified method and that such method will not be deoptimized |
29 * specified method and that such method will not be deoptimized |
30 * on high abort ratio. |
30 * on high abort ratio. |
31 * @library /testlibrary /test/lib / |
31 * @library /testlibrary /test/lib / |
32 * @modules java.base/jdk.internal.misc |
32 * @modules java.base/jdk.internal.misc |
33 * java.management |
33 * java.management |
34 * @build TestUseRTMLockElidingOption |
34 * @build compiler.rtm.method_options.TestUseRTMLockElidingOption |
35 * @run driver ClassFileInstaller sun.hotspot.WhiteBox |
35 * @run driver ClassFileInstaller sun.hotspot.WhiteBox |
36 * sun.hotspot.WhiteBox$WhiteBoxPermission |
36 * sun.hotspot.WhiteBox$WhiteBoxPermission |
37 * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions |
37 * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions |
38 * -XX:+WhiteBoxAPI TestUseRTMLockElidingOption |
38 * -XX:+WhiteBoxAPI |
|
39 * compiler.rtm.method_options.TestUseRTMLockElidingOption |
39 */ |
40 */ |
40 |
41 |
41 import java.util.List; |
42 package compiler.rtm.method_options; |
42 import jdk.test.lib.*; |
43 |
|
44 import compiler.testlibrary.rtm.AbortProvoker; |
|
45 import compiler.testlibrary.rtm.AbortType; |
|
46 import compiler.testlibrary.rtm.RTMLockingStatistics; |
|
47 import compiler.testlibrary.rtm.RTMTestBase; |
|
48 import compiler.testlibrary.rtm.predicate.SupportedCPU; |
|
49 import compiler.testlibrary.rtm.predicate.SupportedVM; |
|
50 import jdk.test.lib.Asserts; |
|
51 import jdk.test.lib.OutputAnalyzer; |
43 import jdk.test.lib.cli.CommandLineOptionTest; |
52 import jdk.test.lib.cli.CommandLineOptionTest; |
44 import jdk.test.lib.cli.predicate.AndPredicate; |
53 import jdk.test.lib.cli.predicate.AndPredicate; |
45 import compiler.testlibrary.rtm.*; |
54 |
46 import compiler.testlibrary.rtm.predicate.SupportedCPU; |
55 import java.util.List; |
47 import compiler.testlibrary.rtm.predicate.SupportedVM; |
|
48 |
56 |
49 /** |
57 /** |
50 * Test verifies that method tagged with option <i>UseRTMLockElidingOption</i> |
58 * Test verifies that method tagged with option <i>UseRTMLockElidingOption</i> |
51 * will use RTM-based lock elision, but will be never deoptimized with |
59 * will use RTM-based lock elision, but will be never deoptimized with |
52 * <i>rtm_state_change reason</i>. |
60 * <i>rtm_state_change reason</i>. |