RFR: TestSelectiveBarrierFlags should accept multi-element flag selections

Roman Kennke rkennke at redhat.com
Fri Jan 19 15:26:02 UTC 2018


Good. This makes my test work :-) Push it!

Roman

> Roman's test changes need this: Fixed the bug that breaks when more than 2 flags per group are
> present, and also rewritten for clarity:
> 
> diff -r 12654193e434 test/hotspot/jtreg/gc/shenandoah/TestSelectiveBarrierFlags.java
> --- a/test/hotspot/jtreg/gc/shenandoah/TestSelectiveBarrierFlags.java	Fri Jan 19 11:52:40 2018 +0100
> +++ b/test/hotspot/jtreg/gc/shenandoah/TestSelectiveBarrierFlags.java	Fri Jan 19 15:14:50 2018 +0100
> @@ -69,10 +69,11 @@
> 
>               StringBuilder sb = new StringBuilder();
>               for (String[] l : opts) {
> -                int f = t % (l.length + 1);
> -                conf.add("-XX:" + ((f & 1) == 1 ? "+" : "-") + l[0]);
> -                if (l.length > 1) {
> -                    conf.add("-XX:" + ((f & 2) == 2 ? "+" : "-") + l[1]);
> +                // Make a choice which flag to select from the group.
> +                // Zero means no flag is selected from the group.
> +                int choice = t % (l.length + 1);
> +                for (int e = 0; e < l.length; e++) {
> +                  conf.add("-XX:" + ((choice == (e + 1)) ? "+" : "-") + l[e]);
>                   }
>                   t = t / (l.length + 1);
>               }
> 
> Testing: TestSelectiveBarrierFlags {fastdebug,release}
> 
> Thanks,
> -Aleksey
> 



More information about the shenandoah-dev mailing list