提交 4b5cd0ec 编写于 作者: A anoll

8029436: CICompilerCount is not updated when the number of compiler threads is...

8029436: CICompilerCount is not updated when the number of compiler threads is adjusted to the number of CPUs
Summary: CICompilerCount is updated in AdvancedThresholdPolicy::initialize, SimpleThresholdPolicy::initialize and NonTieredCompPolicy::initialize. A warning is printed if the usersets both, CICompilerCount and CICompilerCountPerCPU.
Reviewed-by: kvn, twisti
Contributed-by: NTobias Hartmann <tobias.hartmann@oracle.com>
上级 456c2ab7
...@@ -53,7 +53,8 @@ void AdvancedThresholdPolicy::initialize() { ...@@ -53,7 +53,8 @@ void AdvancedThresholdPolicy::initialize() {
} }
set_c1_count(MAX2(count / 3, 1)); set_c1_count(MAX2(count / 3, 1));
set_c2_count(MAX2(count - count / 3, 1)); set_c2_count(MAX2(count - c1_count(), 1));
FLAG_SET_ERGO(intx, CICompilerCount, c1_count() + c2_count());
// Some inlining tuning // Some inlining tuning
#ifdef X86 #ifdef X86
......
...@@ -2383,6 +2383,10 @@ bool Arguments::check_vm_args_consistency() { ...@@ -2383,6 +2383,10 @@ bool Arguments::check_vm_args_consistency() {
status &= verify_interval(NmethodSweepFraction, 1, ReservedCodeCacheSize/K, "NmethodSweepFraction"); status &= verify_interval(NmethodSweepFraction, 1, ReservedCodeCacheSize/K, "NmethodSweepFraction");
status &= verify_interval(NmethodSweepActivity, 0, 2000, "NmethodSweepActivity"); status &= verify_interval(NmethodSweepActivity, 0, 2000, "NmethodSweepActivity");
if (!FLAG_IS_DEFAULT(CICompilerCount) && !FLAG_IS_DEFAULT(CICompilerCountPerCPU) && CICompilerCountPerCPU) {
warning("The VM option CICompilerCountPerCPU overrides CICompilerCount.");
}
return status; return status;
} }
......
...@@ -182,6 +182,7 @@ void NonTieredCompPolicy::initialize() { ...@@ -182,6 +182,7 @@ void NonTieredCompPolicy::initialize() {
// max(log2(8)-1,1) = 2 compiler threads on an 8-way machine. // max(log2(8)-1,1) = 2 compiler threads on an 8-way machine.
// May help big-app startup time. // May help big-app startup time.
_compiler_count = MAX2(log2_intptr(os::active_processor_count())-1,1); _compiler_count = MAX2(log2_intptr(os::active_processor_count())-1,1);
FLAG_SET_ERGO(intx, CICompilerCount, _compiler_count);
} else { } else {
_compiler_count = CICompilerCount; _compiler_count = CICompilerCount;
} }
......
...@@ -142,7 +142,8 @@ void SimpleThresholdPolicy::initialize() { ...@@ -142,7 +142,8 @@ void SimpleThresholdPolicy::initialize() {
count = MAX2(log2_intptr(os::active_processor_count()), 1) * 3 / 2; count = MAX2(log2_intptr(os::active_processor_count()), 1) * 3 / 2;
} }
set_c1_count(MAX2(count / 3, 1)); set_c1_count(MAX2(count / 3, 1));
set_c2_count(MAX2(count - count / 3, 1)); set_c2_count(MAX2(count - c1_count(), 1));
FLAG_SET_ERGO(intx, CICompilerCount, c1_count() + c2_count());
} }
void SimpleThresholdPolicy::set_carry_if_necessary(InvocationCounter *counter) { void SimpleThresholdPolicy::set_carry_if_necessary(InvocationCounter *counter) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册