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

Aleksey Shipilev shade at redhat.com
Mon Sep 30 07:50:07 UTC 2019


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.

-- 
Thanks,
-Aleksey



More information about the hotspot-compiler-dev mailing list