RFR: 8350159: compiler/tiered/Level2RecompilationTest.java fails after JDK-8349915
Vladimir Kozlov
kvn at openjdk.org
Mon Feb 17 18:15:17 UTC 2025
On Mon, 17 Feb 2025 18:02:53 GMT, Vladimir Kozlov <kvn at openjdk.org> wrote:
>> Recently added hunk in `CompilationPolicy::selected_task` was supposed to target CTW runs, that wanted to omit any level changes. But there are tests that _do test_ level changes, and they submit `Whitebox` requests. One of those tests is `compiler/tiered/Level2RecompilationTest.java`. So it looks like we need to disambiguate the "CTW" uses and "general Whitebox" uses.
>>
>> Looks like checking for `-Xbatch` does the trick for CTW. It is not super-clean, but it works, and it matches other exceptions in around compilation policy, e.g. when checking for `-Xcomp`, etc.
>>
>> Additional testing:
>> - [x] Linux AArch64 server fastdebug, `compiler/tiered/Level2RecompilationTest.java` now passes
>> - [x] Linux AArch64 server fastdebug, CTW tests still work fine
>> - [ ] Linux AArch64 server fastdebug, `all`
>
> src/hotspot/share/compiler/compilationPolicy.cpp line 636:
>
>> 634: continue;
>> 635: }
>> 636: if (task->is_blocking() && task->compile_reason() == CompileTask::Reason_Whitebox) {
>
> This may be not enough - testing with `-Xcomp` sets `-Xbatch`: [arguments.cpp#L1358](https://github.com/openjdk/jdk/blob/master/src/hotspot/share/runtime/arguments.cpp#L1358)
On other hand, when running with `-Xcomp` we should not worry about priority of compilation tasks.
And `Level2RecompilationTest.java` "requires" `vm.compMode != "Xcomp"` so it should pass.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/23668#discussion_r1958649186
More information about the hotspot-compiler-dev
mailing list