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 String[] traversal = {
49 "ShenandoahLoadRefBarrier",
50 "ShenandoahCASBarrier",
51 "ShenandoahCloneBarrier",
52 };
53
54 shouldFailAll("-XX:ShenandoahGCHeuristics=adaptive", concurrent);
55 shouldFailAll("-XX:ShenandoahGCHeuristics=static", concurrent);
56 shouldFailAll("-XX:ShenandoahGCHeuristics=compact", concurrent);
57 shouldFailAll("-XX:ShenandoahGCHeuristics=aggressive", concurrent);
58 shouldFailAll("-XX:ShenandoahGCMode=traversal", traversal);
59 shouldPassAll("-XX:ShenandoahGCMode=passive", concurrent);
60 shouldPassAll("-XX:ShenandoahGCMode=passive", traversal);
61 }
62
63 private static void shouldFailAll(String h, String[] barriers) throws Exception {
64 for (String b : barriers) {
65 ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(
|
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 String[] traversal = {
48 "ShenandoahLoadRefBarrier",
49 "ShenandoahCASBarrier",
50 "ShenandoahCloneBarrier",
51 };
52
53 shouldFailAll("-XX:ShenandoahGCHeuristics=adaptive", concurrent);
54 shouldFailAll("-XX:ShenandoahGCHeuristics=static", concurrent);
55 shouldFailAll("-XX:ShenandoahGCHeuristics=compact", concurrent);
56 shouldFailAll("-XX:ShenandoahGCHeuristics=aggressive", concurrent);
57 shouldFailAll("-XX:ShenandoahGCMode=traversal", traversal);
58 shouldPassAll("-XX:ShenandoahGCMode=passive", concurrent);
59 shouldPassAll("-XX:ShenandoahGCMode=passive", traversal);
60 }
61
62 private static void shouldFailAll(String h, String[] barriers) throws Exception {
63 for (String b : barriers) {
64 ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(
|