RFR(XS): 8241009: CommandLineFlagComboNegative.java fails after JDK-8240563

Stefan Karlsson stefan.karlsson at oracle.com
Wed Mar 18 08:58:07 UTC 2020


Hi Yumin,

On 2020-03-18 00:01, Yumin Qi wrote:
> Hi, please review
>
>   Bug:https://bugs.openjdk.java.net/browse/JDK-8241009 
> <https://bugs.openjdk.java.net/browse/JDK-8241009>
>   Webrev: http://cr.openjdk.java.net/~minqi/8241009/webrev/
>
>   The vmoptions from jtreg still affect the launched processes and 
> mess up the parameters for launched java processes in the test.
>   Fix skip the test if -XX:-UseCompressedOops or 
> -XX:-UseCompressedClassPointers in jtreg vmoptions (or javaoptions).

We already have a way to use @require to disable tests when incompatible 
flags are passed.

Take a look at:
test/hotspot/jtreg/runtime/CompressedOops/CompressedClassSpaceSize.java

  * @requires vm.bits == 64 & vm.opt.final.UseCompressedOops == true

Could this be used instead? Note that this is using 
vm.opt.final.UseCompressedOops and not vm.opt.UseCompressedOops. The 
former actually checks the value of the flag, just like your adhoc 
version does.

The list of supported flags are currently hard-coded, so if you need a 
flag that's not already exposed, you'll have to add it yourself. See: 
test/jtreg-ext/requires/VMProps.java

     /**
      * Selected final flag.
      *
      * @param map - property-value pairs
      * @param flagName - flag name
      */
     private void vmOptFinalFlag(SafeMap map, String flagName) {
         map.put("vm.opt.final." + flagName,
                 () -> String.valueOf(WB.getBooleanVMFlag(flagName)));
     }

     /**
      * Selected sets of final flags.
      *
      * @param map - property-value pairs
      */
     protected void vmOptFinalFlags(SafeMap map) {
         vmOptFinalFlag(map, "ClassUnloading");
         vmOptFinalFlag(map, "ClassUnloadingWithConcurrentMark");
         vmOptFinalFlag(map, "UseCompressedOops");
         vmOptFinalFlag(map, "EnableJVMCI");
         vmOptFinalFlag(map, "EliminateAllocations");
     }

Thanks,
StefanK

>
>   Tests: tested with explicitly set -XX:-UseCompressedOops or 
> -XX:-UseCompressedClassPointers or both in jtreg vmoptions.
>   tier1,2,4,7 test pending.
>
> Thanks
> Yumin



More information about the hotspot-runtime-dev mailing list