< prev index next >

test/hotspot/jtreg/gc/shenandoah/options/TestHeuristicsUnlock.java

Print this page
rev 58672 : Shenandoah: New incremental-update mode


  32  *          java.management
  33  * @run driver TestHeuristicsUnlock
  34  */
  35 
  36 import jdk.test.lib.process.ProcessTools;
  37 import jdk.test.lib.process.OutputAnalyzer;
  38 
  39 public class TestHeuristicsUnlock {
  40 
  41     enum Mode {
  42         PRODUCT,
  43         DIAGNOSTIC,
  44         EXPERIMENTAL,
  45     }
  46 
  47     public static void main(String[] args) throws Exception {
  48         testWith("-XX:ShenandoahGCHeuristics=adaptive", Mode.PRODUCT);
  49         testWith("-XX:ShenandoahGCHeuristics=static", Mode.PRODUCT);
  50         testWith("-XX:ShenandoahGCHeuristics=compact", Mode.PRODUCT);
  51 


  52         testWith("-XX:ShenandoahGCHeuristics=aggressive", Mode.DIAGNOSTIC);
  53         testWith("-XX:ShenandoahGCHeuristics=passive", Mode.DIAGNOSTIC);
  54     }
  55 
  56     private static void testWith(String h, Mode mode) throws Exception {
  57         if (false) { // When ShenandoahGC is experimental flag, this makes no sense to test
  58             ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(
  59                     "-XX:-UnlockDiagnosticVMOptions",
  60                     "-XX:-UnlockExperimentalVMOptions",
  61                     "-XX:+UseShenandoahGC",
  62                     h,
  63                     "-version"
  64             );
  65             OutputAnalyzer output = new OutputAnalyzer(pb.start());
  66             switch (mode) {
  67                 case PRODUCT:
  68                     output.shouldHaveExitValue(0);
  69                     break;
  70                 case DIAGNOSTIC:
  71                 case EXPERIMENTAL:




  32  *          java.management
  33  * @run driver TestHeuristicsUnlock
  34  */
  35 
  36 import jdk.test.lib.process.ProcessTools;
  37 import jdk.test.lib.process.OutputAnalyzer;
  38 
  39 public class TestHeuristicsUnlock {
  40 
  41     enum Mode {
  42         PRODUCT,
  43         DIAGNOSTIC,
  44         EXPERIMENTAL,
  45     }
  46 
  47     public static void main(String[] args) throws Exception {
  48         testWith("-XX:ShenandoahGCHeuristics=adaptive", Mode.PRODUCT);
  49         testWith("-XX:ShenandoahGCHeuristics=static", Mode.PRODUCT);
  50         testWith("-XX:ShenandoahGCHeuristics=compact", Mode.PRODUCT);
  51 
  52         testWith("-XX:ShenandoahGCMode=iu", Mode.PRODUCT);
  53 
  54         testWith("-XX:ShenandoahGCHeuristics=aggressive", Mode.DIAGNOSTIC);
  55         testWith("-XX:ShenandoahGCHeuristics=passive", Mode.DIAGNOSTIC);
  56     }
  57 
  58     private static void testWith(String h, Mode mode) throws Exception {
  59         if (false) { // When ShenandoahGC is experimental flag, this makes no sense to test
  60             ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(
  61                     "-XX:-UnlockDiagnosticVMOptions",
  62                     "-XX:-UnlockExperimentalVMOptions",
  63                     "-XX:+UseShenandoahGC",
  64                     h,
  65                     "-version"
  66             );
  67             OutputAnalyzer output = new OutputAnalyzer(pb.start());
  68             switch (mode) {
  69                 case PRODUCT:
  70                     output.shouldHaveExitValue(0);
  71                     break;
  72                 case DIAGNOSTIC:
  73                 case EXPERIMENTAL:


< prev index next >