提交 7bb1a106 编写于 作者: I iveresov

6987115: Non-tiered compilation policy creates unnecessary C1 threads

Summary: Fixed NonTieredCompPolicy::compiler_count() to return correct thread count.
Reviewed-by: twisti, kvn
上级 27899fc6
......@@ -129,16 +129,31 @@ void NonTieredCompPolicy::initialize() {
}
}
// Note: this policy is used ONLY if TieredCompilation is off.
// compiler_count() behaves the following way:
// - with TIERED build (with both COMPILER1 and COMPILER2 defined) it should return
// zero for the c1 compilation levels, hence the particular ordering of the
// statements.
// - the same should happen when COMPILER2 is defined and COMPILER1 is not
// (server build without TIERED defined).
// - if only COMPILER1 is defined (client build), zero should be returned for
// the c2 level.
// - if neither is defined - always return zero.
int NonTieredCompPolicy::compiler_count(CompLevel comp_level) {
#ifdef COMPILER1
if (is_c1_compile(comp_level)) {
assert(!TieredCompilation, "This policy should not be used with TieredCompilation");
#ifdef COMPILER2
if (is_c2_compile(comp_level)) {
return _compiler_count;
} else {
return 0;
}
#endif
#ifdef COMPILER2
if (is_c2_compile(comp_level)) {
#ifdef COMPILER1
if (is_c1_compile(comp_level)) {
return _compiler_count;
} else {
return 0;
}
#endif
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册