25 /* @test TestWrongBarrierDisable
26 * @summary Test that disabling wrong barriers fails early
27 * @key gc
28 * @requires vm.gc.Shenandoah & !vm.graal.enabled
29 * @library /test/lib
30 * @run main/othervm TestWrongBarrierDisable
31 */
32
33 import java.util.*;
34
35 import jdk.test.lib.process.ProcessTools;
36 import jdk.test.lib.process.OutputAnalyzer;
37
38 public class TestWrongBarrierDisable {
39
40 public static void main(String[] args) throws Exception {
41 String[] concurrent = {
42 "ShenandoahLoadRefBarrier",
43 "ShenandoahCASBarrier",
44 "ShenandoahCloneBarrier",
45 "ShenandoahSATBBarrier",
46 };
47
48 shouldFailAll("-XX:ShenandoahGCHeuristics=adaptive", concurrent);
49 shouldFailAll("-XX:ShenandoahGCHeuristics=static", concurrent);
50 shouldFailAll("-XX:ShenandoahGCHeuristics=compact", concurrent);
51 shouldFailAll("-XX:ShenandoahGCHeuristics=aggressive", concurrent);
52 shouldPassAll("-XX:ShenandoahGCMode=passive", concurrent);
53 }
54
55 private static void shouldFailAll(String h, String[] barriers) throws Exception {
56 for (String b : barriers) {
57 ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(
58 "-XX:+UnlockDiagnosticVMOptions",
59 "-XX:+UnlockExperimentalVMOptions",
60 "-XX:+UseShenandoahGC",
61 h,
62 "-XX:-" + b,
63 "-version"
64 );
65 OutputAnalyzer output = new OutputAnalyzer(pb.start());
|
25 /* @test TestWrongBarrierDisable
26 * @summary Test that disabling wrong barriers fails early
27 * @key gc
28 * @requires vm.gc.Shenandoah & !vm.graal.enabled
29 * @library /test/lib
30 * @run main/othervm TestWrongBarrierDisable
31 */
32
33 import java.util.*;
34
35 import jdk.test.lib.process.ProcessTools;
36 import jdk.test.lib.process.OutputAnalyzer;
37
38 public class TestWrongBarrierDisable {
39
40 public static void main(String[] args) throws Exception {
41 String[] concurrent = {
42 "ShenandoahLoadRefBarrier",
43 "ShenandoahCASBarrier",
44 "ShenandoahCloneBarrier",
45 };
46
47 shouldFailAll("-XX:ShenandoahGCHeuristics=adaptive", concurrent);
48 shouldFailAll("-XX:ShenandoahGCHeuristics=static", concurrent);
49 shouldFailAll("-XX:ShenandoahGCHeuristics=compact", concurrent);
50 shouldFailAll("-XX:ShenandoahGCHeuristics=aggressive", concurrent);
51 shouldPassAll("-XX:ShenandoahGCMode=passive", concurrent);
52 }
53
54 private static void shouldFailAll(String h, String[] barriers) throws Exception {
55 for (String b : barriers) {
56 ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(
57 "-XX:+UnlockDiagnosticVMOptions",
58 "-XX:+UnlockExperimentalVMOptions",
59 "-XX:+UseShenandoahGC",
60 h,
61 "-XX:-" + b,
62 "-version"
63 );
64 OutputAnalyzer output = new OutputAnalyzer(pb.start());
|