< prev index next >
src/jdk/nashorn/internal/codegen/FieldObjectCreator.java
Print this page
@@ -165,12 +165,11 @@
final String fieldDesc = typeDescriptor(fieldType.getTypeClass());
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);
}
/**
* Store a value in an indexed slot of a generated class object.
@@ -178,15 +177,11 @@
* @param method Script method.
* @param index Slot index.
* @param tuple Tuple to store.
*/
private void putSlot(final MethodEmitter method, final long index, final MapTuple<T> 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);
}
/**
< prev index next >