--- old/src/jdk/nashorn/internal/codegen/FieldObjectCreator.java 2016-01-20 14:14:37.675064539 +0100 +++ new/src/jdk/nashorn/internal/codegen/FieldObjectCreator.java 2016-01-20 14:14:37.587064540 +0100 @@ -167,8 +167,7 @@ assert fieldName.equals(getFieldName(fieldIndex, PRIMITIVE_FIELD_TYPE)) || fieldType.isObject() : key + " object keys must store to L*-fields"; assert fieldName.equals(getFieldName(fieldIndex, Type.OBJECT)) || fieldType.isPrimitive() : key + " primitive keys must store to J*-fields"; - loadTuple(method, tuple); - + loadTuple(method, tuple, true); method.putField(fieldClass, fieldName, fieldDesc); } @@ -180,11 +179,7 @@ * @param tuple Tuple to store. */ private void putSlot(final MethodEmitter method, final long index, final MapTuple tuple) { - if (JSType.isRepresentableAsInt(index)) { - method.load((int)index); - } else { - method.load(index); - } + loadIndex(method, index); loadTuple(method, tuple, false); //we don't pack array like objects method.dynamicSetIndex(callSiteFlags); }