< prev index next >

test/compiler/rtm/locking/TestRTMAbortThreshold.java

Print this page
rev 11916 : 8165235: [TESTBUG] RTM tests must check OS version
Summary: Also change enabling RTM on Aix to OS version 7.2.


  28  * @summary Verify that RTMAbortThreshold option affects
  29  *          amount of aborts after which abort ratio is calculated.
  30  * @library /test/lib /
  31  * @modules java.base/jdk.internal.misc
  32  *          java.management
  33  * @build sun.hotspot.WhiteBox
  34  * @run driver ClassFileInstaller sun.hotspot.WhiteBox
  35  *                              sun.hotspot.WhiteBox$WhiteBoxPermission
  36  * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions
  37  *                   -XX:+WhiteBoxAPI
  38  *                   compiler.rtm.locking.TestRTMAbortThreshold
  39  */
  40 
  41 package compiler.rtm.locking;
  42 
  43 import compiler.testlibrary.rtm.AbortProvoker;
  44 import compiler.testlibrary.rtm.AbortType;
  45 import compiler.testlibrary.rtm.RTMLockingStatistics;
  46 import compiler.testlibrary.rtm.RTMTestBase;
  47 import compiler.testlibrary.rtm.predicate.SupportedCPU;

  48 import compiler.testlibrary.rtm.predicate.SupportedVM;
  49 import jdk.test.lib.Asserts;
  50 import jdk.test.lib.process.OutputAnalyzer;
  51 import jdk.test.lib.cli.CommandLineOptionTest;
  52 import jdk.test.lib.cli.predicate.AndPredicate;
  53 
  54 import java.util.List;
  55 
  56 /**
  57  * Test verifies that on RTMAbortThreshold option actually affects how soon
  58  * method will be deoptimized on high abort ratio.
  59  */
  60 public class TestRTMAbortThreshold extends CommandLineOptionTest {
  61     private TestRTMAbortThreshold() {
  62         super(new AndPredicate(new SupportedCPU(), new SupportedVM()));
  63     }
  64 
  65     @Override
  66     protected void runTestCases() throws Throwable {
  67         verifyAbortThreshold(false, 1);
  68         verifyAbortThreshold(false, 10);
  69         verifyAbortThreshold(false, 1000);
  70 
  71         verifyAbortThreshold(true, 1);
  72         verifyAbortThreshold(true, 10);
  73         verifyAbortThreshold(true, 1000);
  74     }
  75 
  76     private void verifyAbortThreshold(boolean useStackLock,
  77             long abortThreshold) throws Throwable {
  78         AbortProvoker provoker = AbortType.XABORT.provoker();
  79 
  80         OutputAnalyzer outputAnalyzer = RTMTestBase.executeRTMTest(
  81                 provoker,
  82                 "-XX:+UseRTMDeopt",




  28  * @summary Verify that RTMAbortThreshold option affects
  29  *          amount of aborts after which abort ratio is calculated.
  30  * @library /test/lib /
  31  * @modules java.base/jdk.internal.misc
  32  *          java.management
  33  * @build sun.hotspot.WhiteBox
  34  * @run driver ClassFileInstaller sun.hotspot.WhiteBox
  35  *                              sun.hotspot.WhiteBox$WhiteBoxPermission
  36  * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions
  37  *                   -XX:+WhiteBoxAPI
  38  *                   compiler.rtm.locking.TestRTMAbortThreshold
  39  */
  40 
  41 package compiler.rtm.locking;
  42 
  43 import compiler.testlibrary.rtm.AbortProvoker;
  44 import compiler.testlibrary.rtm.AbortType;
  45 import compiler.testlibrary.rtm.RTMLockingStatistics;
  46 import compiler.testlibrary.rtm.RTMTestBase;
  47 import compiler.testlibrary.rtm.predicate.SupportedCPU;
  48 import compiler.testlibrary.rtm.predicate.SupportedOS;
  49 import compiler.testlibrary.rtm.predicate.SupportedVM;
  50 import jdk.test.lib.Asserts;
  51 import jdk.test.lib.process.OutputAnalyzer;
  52 import jdk.test.lib.cli.CommandLineOptionTest;
  53 import jdk.test.lib.cli.predicate.AndPredicate;
  54 
  55 import java.util.List;
  56 
  57 /**
  58  * Test verifies that on RTMAbortThreshold option actually affects how soon
  59  * method will be deoptimized on high abort ratio.
  60  */
  61 public class TestRTMAbortThreshold extends CommandLineOptionTest {
  62     private TestRTMAbortThreshold() {
  63         super(new AndPredicate(new SupportedCPU(), new SupportedOS(), new SupportedVM()));
  64     }
  65 
  66     @Override
  67     protected void runTestCases() throws Throwable {
  68         verifyAbortThreshold(false, 1);
  69         verifyAbortThreshold(false, 10);
  70         verifyAbortThreshold(false, 1000);
  71 
  72         verifyAbortThreshold(true, 1);
  73         verifyAbortThreshold(true, 10);
  74         verifyAbortThreshold(true, 1000);
  75     }
  76 
  77     private void verifyAbortThreshold(boolean useStackLock,
  78             long abortThreshold) throws Throwable {
  79         AbortProvoker provoker = AbortType.XABORT.provoker();
  80 
  81         OutputAnalyzer outputAnalyzer = RTMTestBase.executeRTMTest(
  82                 provoker,
  83                 "-XX:+UseRTMDeopt",


< prev index next >