RFR: 8269135: TestDifferentProtectionDomains runs into timeout in client VM

Evgeny Astigeevich github.com+42899633+eastig at openjdk.java.net
Tue Jun 22 17:05:27 UTC 2021


On Tue, 22 Jun 2021 13:34:43 GMT, Christoph Göttschkes <cgo at openjdk.org> wrote:

> The test tries to compile a method using the WhiteBox with optimization level 4, which is not available in client VMs. The WhiteBox only prints out a warning, and the call to enqueueMethodForCompilation succeeds. After that, the test case goes into an endless loop to wait for the compilation to finish, which never happens, because the method is not enqueued for compilation.
> 
> I fixed this by choosing a different compilation level, if C2 is not included in the JVM. I think this test should be enough, since there is already an `@requires` which checks, that we are in mixed mode and that C2 should be used.
> 
> In addition, I bound the loop in order to fail with a timeout more early, if the compilation does not happen (or takes too long because of platform restrictions).

test/hotspot/jtreg/runtime/Nestmates/protectionDomain/TestDifferentProtectionDomains.java line 116:

> 114:         if (!wb.isC2OrJVMCIIncluded()) {
> 115:             optimizationLevel = CompilerWhiteBoxTest.COMP_LEVEL_SIMPLE;
> 116:         }

I think it is better to check whether COMP_LEVEL_FULL_OPTIMIZATION is supported:

if (!wb.isMethodCompilable(cons, optimizationLevel)) {
  optimizationLevel = CompilerWhiteBoxTest.COMP_LEVEL_ANY;
}

-------------

PR: https://git.openjdk.java.net/jdk/pull/4558


More information about the hotspot-runtime-dev mailing list