On Fri, 22 Jan 2021 15:19:39 GMT, Igor Veresov <ivere...@openjdk.org> 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