diff -r 4f37fd7a5a09 -r 7f092a7ce938 hotspot/src/share/vm/runtime/simpleThresholdPolicy.cpp --- a/hotspot/src/share/vm/runtime/simpleThresholdPolicy.cpp Thu Mar 03 22:02:13 2016 -0800 +++ b/hotspot/src/share/vm/runtime/simpleThresholdPolicy.cpp Fri Mar 04 08:53:59 2016 +0100 @@ -138,9 +138,15 @@ FLAG_SET_DEFAULT(CICompilerCount, 3); } int count = CICompilerCount; +#ifdef _LP64 + // On 64-bit systems, scale the number of compiler threads with + // the number of cores available on the system. Scaling is not + // performed on 32-bit systems because it can lead to exhaustion + // of the virtual memory address space available to the JVM. if (CICompilerCountPerCPU) { count = MAX2(log2_intptr(os::active_processor_count()), 1) * 3 / 2; } +#endif set_c1_count(MAX2(count / 3, 1)); set_c2_count(MAX2(count - c1_count(), 1)); FLAG_SET_ERGO(intx, CICompilerCount, c1_count() + c2_count());