RFR: Test @requires should check what GC is enabled at runtime
Roman Kennke
rkennke at redhat.com
Fri Nov 30 16:14:47 UTC 2018
Ok
Am 30.11.18 um 17:12 schrieb Aleksey Shipilev:
> On 11/30/18 4:03 PM, Roman Kennke wrote:
>> Hi Aleksey,
>>
>>> http://cr.openjdk.java.net/~shade/shenandoah/requires-runtime/webrev.01/
>>>
>>> This rewires our @requires handling again! @requires is messy, and new filtering code is based on
>>> understanding that:
>>> a) "vm.gc.Shenandoah" says "Shenandoah is available in builds, and can be selected"
>>> b) "vm.gc == null" says "...and we are running with default GC"
>>> c) "vm.gc = Shenandoah" says "...or user specified -XX:+UseShenandoahGC in jtreg opts"
>>
>> I assume that what you say is true :-) But...
>>
>> doesn't this mean that for our own tests, under gc/shenandoah, it is ok
>> & sufficient to have: @requires vm.gc.Shenandoah ? Because if it's
>> available in build, we can run the test, and then we set
>> -XX:+UseShenandoahGC ?
>
> Wait a minute. I misunderstood the semantics of vm.gc.Shenandoah. It is actually "true" if
> -XX:+UseShenandoahGC can be set: it is supported by build, and no other GC is explicitly selected.
> So, for the tests that explicitly set -XX:+UseShenandoahGC we have to put @requires
> vm.gc.Shenandoah, and for other tests that _can_ be run with Shenandoah by external option, we
> should use @requires vm.gc != "Shenandoah".
>
> This patch does so:
> http://cr.openjdk.java.net/~shade/shenandoah/requires-runtime/webrev.02
>
> Still passes the same battery of tests.
>
> -Aleksey
>
More information about the shenandoah-dev
mailing list