RFR/RFC 8231503: [TESTBUG] compiler/{jvmci, aot} tests should not run with GCs that do not support JVMCI/AOT

dean.long at oracle.com dean.long at oracle.com
Tue Oct 1 06:11:58 UTC 2019


OK, thanks for explaining that.  The JVM doesn't provide a way to query 
which flags are available, so the methods in VMProps.java are doing it 
instead, and you just made them a little smarter.  Your fix looks good 
to me.

dl

On 9/30/19 12:50 AM, Aleksey Shipilev wrote:
> On 9/27/19 8:52 PM, dean.long at oracle.com wrote:
>> If some GCs don't support JVMCI/AOT, maybe we should turn off the EnableJVMCI and UseAOT flags.
>> Wouldn't that prevent the tests from running?
> I believe there is a circularity in reasoning there. Tests would enable +UseAOT or +UseJVMCI after
> they get clear through @requires, and then everything goes boom. VMProps set "vm.aot" and "vm.jvmci"
> sensing the presence of jaotc and the _availability_ of UseJVMCI flag. And it is too early to sense
> if @run would set +UseAOT or +UseJVMCI.
>
> This explains why tests still fail with Shenandoah that *does* turn off UseAOT. It does not help,
> because it happens too late, and tests fail.
>
> I believe the only way to disallow tests to run is proper @requires. The question is how exactly to
> spell it: dropping "vm.aot"/"vm.jvmci" to "false" when unsupported GC is selected (like this patch
> is doing), or do explicit @requires for every test listing every compatible GC.
>



More information about the hotspot-compiler-dev mailing list