RFR: 8276711: compiler/codecache/cli tests failing when SegmentedCodeCache used with -Xint [v3]
Vladimir Kozlov
kvn at openjdk.java.net
Thu Mar 3 00:19:05 UTC 2022
On Wed, 2 Mar 2022 22:50:22 GMT, Coleen Phillimore <coleenp at openjdk.org> wrote:
>> src/hotspot/share/code/codeCache.cpp line 371:
>>
>>> 369: // No segmentation: use a single code heap
>>> 370: return (code_blob_type == CodeBlobType::All);
>>> 371: } else if (CompilerConfig::is_interpreter_only()) {
>>
>> Doesn't this introduce a very subtle change in behaviour in relation to the handling of `MethodNonProfiled`?
>> @vnkozlov please confirm this is what you intended - I don't know the implications.
>
> According to my conversation with Rickard, TierStopAtLevel=0 is the same as -Xint. If TieredStopAtLevel=0, the compiler won't allocate nmethods in the MethodProfiled and MethodNonProfiled areas anyway, so this won't allocate them now.
I think this code was missed during Igor's V. changes which introduced `CompilerConfig::is_interpreter_only()`.
Coleen is correct, with `TieredStopAtLevel=0` all JIT compilers are disabled. `MethodNonProfiled` is codeheap for tier1 (C1) and tier4 (C2) compiled nmethods. It does not make sense to have such codeheap when compilation disabled.
-------------
PR: https://git.openjdk.java.net/jdk/pull/7650
More information about the hotspot-dev
mailing list