asm.emitSTW(sri0,      fieldOffset,   sri1); asm.emitSTW(sri0+1,    fieldOffset+4, sri1);
asm.emitSTWoffset(sri0, sri1, fieldOffset); asm.emitSTWoffset(sri0+1, sri1, fieldOffset.add(4));
  protected final void emit_resolved_putfield(VM_FieldReference fieldRef) {    if (unreachableBytecode) return;    byte javaStackType =  VM_BuildBB.getJavaStackType(fieldRef.getFieldContentsType());    assignRegisters(2, VOID_TYPE);    // sri0 -- value    // sri1 -- object    Offset fieldOff = fieldRef.peekResolvedField().getOffset();    int fieldOffset = fieldOff.toInt();    if (MM_Interface.NEEDS_WRITE_BARRIER &&        !fieldRef.getFieldContentsType().isPrimitiveType()) {      VM_QuickBarriers.compilePutfieldBarrierImm(asm, fieldOff,                                                 sri1, sri0,                                                 fieldRef.getId(),                                                 S0);    } else {      switch (javaStackType) {      case FLOAT_TYPE:        asm.emitSTFS (sri0, fieldOffset, sri1);        break;      case DOUBLE_TYPE:        asm.emitSTFD (sri0, fieldOffset, sri1);        break;      case LONG_TYPE:        asm.emitSTW(sri0,      fieldOffset,   sri1);        asm.emitSTW(sri0+1,    fieldOffset+4, sri1);        break;      default:        asm.emitSTW(sri0, fieldOffset, sri1);        break;      }    }    cleanupRegisters();  }