49 "ShenandoahLoadRefBarrier", |
49 "ShenandoahLoadRefBarrier", |
50 "ShenandoahCASBarrier", |
50 "ShenandoahCASBarrier", |
51 "ShenandoahCloneBarrier", |
51 "ShenandoahCloneBarrier", |
52 }; |
52 }; |
53 |
53 |
54 shouldFailAll("adaptive", concurrent); |
54 shouldFailAll("-XX:ShenandoahGCHeuristics=adaptive", concurrent); |
55 shouldFailAll("static", concurrent); |
55 shouldFailAll("-XX:ShenandoahGCHeuristics=static", concurrent); |
56 shouldFailAll("compact", concurrent); |
56 shouldFailAll("-XX:ShenandoahGCHeuristics=compact", concurrent); |
57 shouldFailAll("aggressive", concurrent); |
57 shouldFailAll("-XX:ShenandoahGCHeuristics=aggressive", concurrent); |
58 shouldFailAll("traversal", traversal); |
58 shouldFailAll("-XX:ShenandoahGCMode=traversal", traversal); |
59 shouldPassAll("passive", concurrent); |
59 shouldPassAll("-XX:ShenandoahGCMode=passive", concurrent); |
60 shouldPassAll("passive", traversal); |
60 shouldPassAll("-XX:ShenandoahGCMode=passive", traversal); |
61 } |
61 } |
62 |
62 |
63 private static void shouldFailAll(String h, String[] barriers) throws Exception { |
63 private static void shouldFailAll(String h, String[] barriers) throws Exception { |
64 for (String b : barriers) { |
64 for (String b : barriers) { |
65 ProcessBuilder pb = ProcessTools.createJavaProcessBuilder( |
65 ProcessBuilder pb = ProcessTools.createJavaProcessBuilder( |
66 "-XX:+UnlockDiagnosticVMOptions", |
66 "-XX:+UnlockDiagnosticVMOptions", |
67 "-XX:+UnlockExperimentalVMOptions", |
67 "-XX:+UnlockExperimentalVMOptions", |
68 "-XX:+UseShenandoahGC", |
68 "-XX:+UseShenandoahGC", |
69 "-XX:ShenandoahGCHeuristics=" + h, |
69 h, |
70 "-XX:-" + b, |
70 "-XX:-" + b, |
71 "-version" |
71 "-version" |
72 ); |
72 ); |
73 OutputAnalyzer output = new OutputAnalyzer(pb.start()); |
73 OutputAnalyzer output = new OutputAnalyzer(pb.start()); |
74 output.shouldNotHaveExitValue(0); |
74 output.shouldNotHaveExitValue(0); |
81 for (String b : barriers) { |
81 for (String b : barriers) { |
82 ProcessBuilder pb = ProcessTools.createJavaProcessBuilder( |
82 ProcessBuilder pb = ProcessTools.createJavaProcessBuilder( |
83 "-XX:+UnlockDiagnosticVMOptions", |
83 "-XX:+UnlockDiagnosticVMOptions", |
84 "-XX:+UnlockExperimentalVMOptions", |
84 "-XX:+UnlockExperimentalVMOptions", |
85 "-XX:+UseShenandoahGC", |
85 "-XX:+UseShenandoahGC", |
86 "-XX:ShenandoahGCHeuristics=" + h, |
86 h, |
87 "-XX:-" + b, |
87 "-XX:-" + b, |
88 "-version" |
88 "-version" |
89 ); |
89 ); |
90 OutputAnalyzer output = new OutputAnalyzer(pb.start()); |
90 OutputAnalyzer output = new OutputAnalyzer(pb.start()); |
91 output.shouldHaveExitValue(0); |
91 output.shouldHaveExitValue(0); |