--- old/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/IntArrayData.java 2016-12-15 11:26:11.000000000 +0100 +++ new/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/IntArrayData.java 2016-12-15 11:26:11.000000000 +0100 @@ -176,8 +176,15 @@ } @Override - public void shiftLeft(final int by) { - System.arraycopy(array, by, array, 0, array.length - by); + public ArrayData shiftLeft(final int by) { + if (by >= length()) { + shrink(0); + } else { + System.arraycopy(array, by, array, 0, array.length - by); + } + setLength(Math.max(0, length() - by)); + + return this; } @Override