https://bugs.openjdk.java.net/browse/JDK-8075942 http://cr.openjdk.java.net/~prr/8075942/
It appears that the amount to grow the array is not taking into account that before the System.arraycopy we first store 'type' and increment the offset :- 150 firstSegmentsBuffer[firstSegidx++] = type; Fix is to add 1 to the amount to grow the array. "type - 2 + 1" looks a bit inefficient but is a closer match to what is being added and I'd like to think javac simplifies the expression. -phil.
