41 public class TestSelectiveBarrierFlags { |
41 public class TestSelectiveBarrierFlags { |
42 |
42 |
43 public static void main(String[] args) throws Exception { |
43 public static void main(String[] args) throws Exception { |
44 String[][] opts = { |
44 String[][] opts = { |
45 new String[] { "ShenandoahKeepAliveBarrier" }, |
45 new String[] { "ShenandoahKeepAliveBarrier" }, |
46 new String[] { "ShenandoahWriteBarrier" }, |
46 new String[] { "ShenandoahLoadRefBarrier" }, |
47 new String[] { "ShenandoahReadBarrier" }, |
47 new String[] { "ShenandoahSATBBarrier", "ShenandoahStoreValEnqueueBarrier" }, |
48 // StoreValRead+SATB are actually compatible, but we need to protect against |
|
49 // StorveValEnqueue+SATB. TODO: Make it better. |
|
50 new String[] { "ShenandoahSATBBarrier", "ShenandoahStoreValReadBarrier", "ShenandoahStoreValEnqueueBarrier" }, |
|
51 new String[] { "ShenandoahCASBarrier" }, |
48 new String[] { "ShenandoahCASBarrier" }, |
52 new String[] { "ShenandoahAcmpBarrier" }, |
|
53 new String[] { "ShenandoahCloneBarrier" }, |
49 new String[] { "ShenandoahCloneBarrier" }, |
54 }; |
50 }; |
55 |
51 |
56 int size = 1; |
52 int size = 1; |
57 for (String[] l : opts) { |
53 for (String[] l : opts) { |