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