--- 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());