RFR(XXS): 8034775: Failing to initialize VM when running with negative value for -XX:CICompilerCount

Albert albert.noll at oracle.com
Thu Feb 13 21:52:50 PST 2014

Hi Vladimir, thanks for looking at this.

Why would you limit the number of compiler threads to
os::active_processor_count()? It intuitively makes sense
However, if for whatever reason, a customer wants more
compiler threads than processors there is no reason to not
let him do that.

Yes, tiered works with -XX:CICompilerCount=1. In that case
we silently start 2 compiler threads, which seems to contradict

void AdvancedThresholdPolicy::initialize() {
   set_c1_count(MAX2(count / 3, 1));
   set_c2_count(MAX2(count - count / 3, 1));

Do you know why this flag is called  CICompilerCount and not
CICompilerThreads? Would you say it makes sense to change
the flag so that it is possible to set the number of C1/C2 compiler

  product(ccstr, CICompilerCount, 
NULL,                                                   \
           "Read compiler commands from this file 
[.hotspot_compiler]")      \

This version of the test should be fine.


On 02/13/2014 05:34 PM, Vladimir Kozlov wrote:
> Albert,
> Can you also check upper limit: os::active_processor_count()?
> Tiered works when CICompilerCount=1. Can you look what is difference 
> in such case from CICompilerCount=2?
> The test expects "at least 2" but for Client VM and non-Tiered it is 
> 1. So your test will fail.
> Thanks,
> Vladimir
> On 2/13/14 2:54 AM, Albert wrote:
>> Hi,
>> could I get reviews for this small patch?
>> bug: https://bugs.openjdk.java.net/browse/JDK-8034775
>> webrev: http://cr.openjdk.java.net/~anoll/8034775/webrev.00/
>> With this patch, we check at VM startup for a reasonable minimal 
>> number of compiler
>> threads (1 for non-tiered, and 2 for tiered). If this minimum is not 
>> reached, the VM exits.
>> Added regression test.
>> Many thanks,
>> Albert

More information about the hotspot-compiler-dev mailing list