< prev index next >

src/jdk/nashorn/internal/codegen/FieldObjectCreator.java

Print this page

        

*** 165,176 **** 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); ! method.putField(fieldClass, fieldName, fieldDesc); } /** * Store a value in an indexed slot of a generated class object. --- 165,175 ---- 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, true); method.putField(fieldClass, fieldName, fieldDesc); } /** * Store a value in an indexed slot of a generated class object.
*** 178,192 **** * @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); ! } loadTuple(method, tuple, false); //we don't pack array like objects method.dynamicSetIndex(callSiteFlags); } /** --- 177,187 ---- * @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) { ! loadIndex(method, index); loadTuple(method, tuple, false); //we don't pack array like objects method.dynamicSetIndex(callSiteFlags); } /**
< prev index next >