< prev index next >

test/compiler/rtm/locking/TestRTMLockingCalculationDelay.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.
Reviewed-by: simonis


  27  * @bug 8031320
  28  * @summary Verify that RTMLockingCalculationDelay affect when
  29  *          abort ratio calculation is started.
  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.TestRTMLockingCalculationDelay
  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.RTMTestBase;
  46 import compiler.testlibrary.rtm.predicate.SupportedCPU;

  47 import compiler.testlibrary.rtm.predicate.SupportedVM;
  48 import jdk.test.lib.Asserts;
  49 import jdk.test.lib.process.OutputAnalyzer;
  50 import jdk.test.lib.cli.CommandLineOptionTest;
  51 import jdk.test.lib.cli.predicate.AndPredicate;
  52 
  53 /**
  54  * Test verifies that abort ratio calculation could be delayed using
  55  * RTMLockingCalculationDelay option.
  56  */
  57 public class TestRTMLockingCalculationDelay extends CommandLineOptionTest {
  58     private static final boolean INFLATE_MONITOR = true;
  59 
  60     private TestRTMLockingCalculationDelay() {
  61         super(new AndPredicate(new SupportedCPU(), new SupportedVM()));
  62     }
  63 
  64     @Override
  65     protected void runTestCases() throws Throwable {
  66         // verify that calculation will be started immediately
  67         verifyLockingCalculationDelay(0, 0, true);
  68 
  69         // verify that calculation will not be started during
  70         // first 10 minutes, while test will be started immediately
  71         verifyLockingCalculationDelay(600000, 0, false);
  72 
  73         // verify that calculation will be started after a second
  74         verifyLockingCalculationDelay(1000, 1000, true);
  75     }
  76 
  77     private void verifyLockingCalculationDelay(long delay, long testDelay,
  78             boolean deoptExpected) throws Throwable {
  79         AbortProvoker provoker = AbortType.XABORT.provoker();
  80         String logFileName = String.format("rtm_delay_%d_%d.xml", delay,
  81                 testDelay);




  27  * @bug 8031320
  28  * @summary Verify that RTMLockingCalculationDelay affect when
  29  *          abort ratio calculation is started.
  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.TestRTMLockingCalculationDelay
  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.RTMTestBase;
  46 import compiler.testlibrary.rtm.predicate.SupportedCPU;
  47 import compiler.testlibrary.rtm.predicate.SupportedOS;
  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 /**
  55  * Test verifies that abort ratio calculation could be delayed using
  56  * RTMLockingCalculationDelay option.
  57  */
  58 public class TestRTMLockingCalculationDelay extends CommandLineOptionTest {
  59     private static final boolean INFLATE_MONITOR = true;
  60 
  61     private TestRTMLockingCalculationDelay() {
  62         super(new AndPredicate(new SupportedCPU(), new SupportedOS(), new SupportedVM()));
  63     }
  64 
  65     @Override
  66     protected void runTestCases() throws Throwable {
  67         // verify that calculation will be started immediately
  68         verifyLockingCalculationDelay(0, 0, true);
  69 
  70         // verify that calculation will not be started during
  71         // first 10 minutes, while test will be started immediately
  72         verifyLockingCalculationDelay(600000, 0, false);
  73 
  74         // verify that calculation will be started after a second
  75         verifyLockingCalculationDelay(1000, 1000, true);
  76     }
  77 
  78     private void verifyLockingCalculationDelay(long delay, long testDelay,
  79             boolean deoptExpected) throws Throwable {
  80         AbortProvoker provoker = AbortType.XABORT.provoker();
  81         String logFileName = String.format("rtm_delay_%d_%d.xml", delay,
  82                 testDelay);


< prev index next >