On Fri, 22 Jan 2021 15:19:39 GMT, Igor Veresov <[email protected]> wrote:
>> src/hotspot/share/compiler/compilerDefinitions.hpp line 234:
>>
>>> 232: static bool is_interpreter_only() {
>>> 233: return Arguments::is_interpreter_only() || TieredStopAtLevel ==
>>> CompLevel_none;
>>> 234: }
>>
>> Can you move these functions after has_*() functions? They are used before.
>
> Right now has_() functions are defined before uses. Do you want them to be
> after the uses? Please confirm.
Don't touch has_() - they are in correct place. I am asking only to move these
4 is_() functions between has_() and is_c1_only() function.
>> src/hotspot/share/compiler/compilerDefinitions.hpp line 243:
>>
>>> 241: static bool is_c1_only_no_aot_or_jvmci() {
>>> 242: return is_c1_only() && !is_aot() && !is_jvmci();
>>> 243: }
>>
>> These names are a little confusing: what about C2, why only no AOT and
>> JVMCI. I understand that you want to check if JVMCI or AOT can install their
>> compiled code.
>> May be `is_c1_nmethods_only`, `is_c1_nmethods_or_interpreter_only` ?
>
> I guess it's a matter of naming convention. What I tried to make the
> CompilerConfig API about is to check if compilers are present/enabled and in
> which combination. Of course presence of a compiler implies that we're going
> to see nmethod produced by it. I'd like to keep the current naming if it's
> not a huge eyesore for you.
Hmm, may be we don't need these funxctions.
Seems is_c1_only() will be true only when JVMCI is off. Right? We can also
reinforce it to exclude AOT too.
And AOT and JVMCI are disabled with -Xint.
-------------
PR: https://git.openjdk.java.net/jdk/pull/1985