RFR: Fix TestSelectiveBarrierFlags

Aleksey Shipilev shade at redhat.com
Mon Jul 16 15:44:45 UTC 2018


On 07/16/2018 05:24 PM, Roman Kennke wrote:
> diff -r 1b2c7b2dd108
> test/hotspot/jtreg/gc/shenandoah/TestSelectiveBarrierFlags.java
> --- a/test/hotspot/jtreg/gc/shenandoah/TestSelectiveBarrierFlags.java
> Thu Jul 12 15:42:17 2018 +0200
> +++ b/test/hotspot/jtreg/gc/shenandoah/TestSelectiveBarrierFlags.java
> Mon Jul 16 11:19:20 2018 -0400
> @@ -39,11 +39,10 @@
> 
>      public static void main(String[] args) throws Exception {
>          String[][] opts = {
> -            new String[]{ "ShenandoahSATBBarrier" },
>              new String[]{ "ShenandoahKeepAliveBarrier" },
>              new String[]{ "ShenandoahWriteBarrier" },
>              new String[]{ "ShenandoahReadBarrier" },
> -            new String[]{ "ShenandoahStoreValReadBarrier",
> "ShenandoahStoreValEnqueueBarrier" },
> +            new String[]{ "ShenandoahSATBBarrier",
> "ShenandoahStoreValReadBarrier", "ShenandoahStoreValEnqueueBarrier" },
>              new String[]{ "ShenandoahCASBarrier" },
>              new String[]{ "ShenandoahAcmpBarrier" },
>              new String[]{ "ShenandoahCloneBarrier" },

Yes, it seems like a lesser evil for now. Can you put the TODO in the test explaining this oddity? E.g.:

     // StoreValRead+SATB are actually compatible, but we need to protect against
     // StorveValEnqueue+SATB. TODO: Make it better.
     new String[]{ "ShenandoahSATBBarrier", "ShenandoahStoreValReadBarrier",
"ShenandoahStoreValEnqueueBarrier" },

Thanks,
-Aleksey



More information about the shenandoah-dev mailing list