RFR(s): 8151283: Implement setting jtreg @requires property vm.isG1Supported.

Dmitry Fazunenko dmitry.fazunenko at oracle.com
Tue Jun 14 16:14:07 UTC 2016

Hi Stefan,

The idea of 'vm.gc.X.acceptable' was an ability to introduce other GC 
related properties like 'supported', 'default', 'setByErgonomics', 
'deprecated', etc.
But setting 'vm.gc.X' won't prevent us from adding  'vm.gc.X.Y' later 
when needed.

I fully agree:   @requires vm.gc.G1 looks much nicer and causes less 

New edition:

Thanks for suggestion that,

On 13.06.2016 10:46, Stefan Johansson wrote:
> Hi Dima,
> I don't know the code and the way this is invoked good enough to do a 
> proper review, but I have a style comment. Wouldn't it be nice to only 
> call the value "vm.gc.G1", and have:
> @requires vm.gc.G1
> I feel that "acceptable" provide very little information and what we 
> want to @require is that the test is only run with G1 (when supported) 
> and I think that is clear from such syntax. Comments?
> Thanks,
> Stefan
> On 2016-06-10 18:04, Dmitry Fazunenko wrote:
>> Hello,
>> I'm looking for a couple of Reviewers for a simple change, which 
>> allows to skip tests depending on non supported garbage collectors.
>> http://cr.openjdk.java.net/~dfazunen/8151283/webrev.00/
>> https://bugs.openjdk.java.net/browse/JDK-8151283
>> The fix introduces four new requires boolean properties:
>>      vm.gc.G1.acceptable
>>      vm.gc.Serial.acceptable
>>      vm.gc.Parallel.acceptable
>>      vm.gc.ConcMarkSweep.acceptable
>> Which are set by the jtreg plugin prior the test execution starts.
>> After that fix we will be able to replace in tests:
>>    @requires vm.gc == null | vm.gc == "G1"
>> with
>>    @requires vm.gc.G1.acceptable
>> 'vm.gc.G1.acceptable' will be evaluated to 'false' not only if other 
>> GC is set externally, but also if G1 is not supported.
>> In other words the fix allows not to run GC specific tests in not 
>> applicable configurations.
>> Thanks,
>> Dima

More information about the hotspot-gc-dev mailing list