42 DIAGNOSTIC, |
42 DIAGNOSTIC, |
43 EXPERIMENTAL, |
43 EXPERIMENTAL, |
44 } |
44 } |
45 |
45 |
46 public static void main(String[] args) throws Exception { |
46 public static void main(String[] args) throws Exception { |
47 testWith("adaptive", Mode.PRODUCT); |
47 testWith("-XX:ShenandoahGCHeuristics=adaptive", Mode.PRODUCT); |
48 testWith("static", Mode.PRODUCT); |
48 testWith("-XX:ShenandoahGCHeuristics=static", Mode.PRODUCT); |
49 testWith("compact", Mode.PRODUCT); |
49 testWith("-XX:ShenandoahGCHeuristics=compact", Mode.PRODUCT); |
50 |
50 |
51 testWith("traversal", Mode.EXPERIMENTAL); |
51 testWith("-XX:ShenandoahGCMode=traversal", Mode.PRODUCT); |
52 |
52 |
53 testWith("aggressive", Mode.DIAGNOSTIC); |
53 testWith("-XX:ShenandoahGCHeuristics=aggressive", Mode.DIAGNOSTIC); |
54 testWith("passive", Mode.DIAGNOSTIC); |
54 testWith("-XX:ShenandoahGCHeuristics=passive", Mode.DIAGNOSTIC); |
55 } |
55 } |
56 |
56 |
57 private static void testWith(String h, Mode mode) throws Exception { |
57 private static void testWith(String h, Mode mode) throws Exception { |
58 if (false) { // When ShenandoahGC is experimental flag, this makes no sense to test |
58 if (false) { // When ShenandoahGC is experimental flag, this makes no sense to test |
59 ProcessBuilder pb = ProcessTools.createJavaProcessBuilder( |
59 ProcessBuilder pb = ProcessTools.createJavaProcessBuilder( |
60 "-XX:-UnlockDiagnosticVMOptions", |
60 "-XX:-UnlockDiagnosticVMOptions", |
61 "-XX:-UnlockExperimentalVMOptions", |
61 "-XX:-UnlockExperimentalVMOptions", |
62 "-XX:+UseShenandoahGC", |
62 "-XX:+UseShenandoahGC", |
63 "-XX:ShenandoahGCHeuristics=" + h, |
63 h, |
64 "-version" |
64 "-version" |
65 ); |
65 ); |
66 OutputAnalyzer output = new OutputAnalyzer(pb.start()); |
66 OutputAnalyzer output = new OutputAnalyzer(pb.start()); |
67 switch (mode) { |
67 switch (mode) { |
68 case PRODUCT: |
68 case PRODUCT: |
78 if (false) { // When ShenandoahGC is experimental flag, this makes no sense to test |
78 if (false) { // When ShenandoahGC is experimental flag, this makes no sense to test |
79 ProcessBuilder pb = ProcessTools.createJavaProcessBuilder( |
79 ProcessBuilder pb = ProcessTools.createJavaProcessBuilder( |
80 "-XX:+UnlockDiagnosticVMOptions", |
80 "-XX:+UnlockDiagnosticVMOptions", |
81 "-XX:-UnlockExperimentalVMOptions", |
81 "-XX:-UnlockExperimentalVMOptions", |
82 "-XX:+UseShenandoahGC", |
82 "-XX:+UseShenandoahGC", |
83 "-XX:ShenandoahGCHeuristics=" + h, |
83 h, |
84 "-version" |
84 "-version" |
85 ); |
85 ); |
86 OutputAnalyzer output = new OutputAnalyzer(pb.start()); |
86 OutputAnalyzer output = new OutputAnalyzer(pb.start()); |
87 switch (mode) { |
87 switch (mode) { |
88 case PRODUCT: |
88 case PRODUCT: |
98 { |
98 { |
99 ProcessBuilder pb = ProcessTools.createJavaProcessBuilder( |
99 ProcessBuilder pb = ProcessTools.createJavaProcessBuilder( |
100 "-XX:-UnlockDiagnosticVMOptions", |
100 "-XX:-UnlockDiagnosticVMOptions", |
101 "-XX:+UnlockExperimentalVMOptions", |
101 "-XX:+UnlockExperimentalVMOptions", |
102 "-XX:+UseShenandoahGC", |
102 "-XX:+UseShenandoahGC", |
103 "-XX:ShenandoahGCHeuristics=" + h, |
103 h, |
104 "-version" |
104 "-version" |
105 ); |
105 ); |
106 OutputAnalyzer output = new OutputAnalyzer(pb.start()); |
106 OutputAnalyzer output = new OutputAnalyzer(pb.start()); |
107 switch (mode) { |
107 switch (mode) { |
108 case PRODUCT: |
108 case PRODUCT: |