JVMCICounterSize is intx type option. In case JVMCICounterSize=0x80000000 (which is MIN_VALUE = MAX_VALUE + 1 and in case of int it's a negative value), it's handled as long. After that, a CompilerToVM::collectCounters can return long[] which size is equal to JVMCICounterSize, but since array size in java can't be more that MAX_VALUE, this case will cause undefined problems.