if (VM.VerifyAssertions) VM.assert(fieldRef.getSize() == 8);
if (VM.VerifyAssertions) VM._assert(fieldRef.getSize() == 8);
  protected final void emit_resolved_getfield(VM_Field fieldRef) {    int fieldOffset = fieldRef.getOffset();    if (!(VM.BuildForStrongVolatileSemantics && fieldRef.isVolatile())) { // normal case      asm.emitL (T1, 0, SP); // T1 = object reference      if (fieldRef.getSize() == 4) { // field is one word	asm.emitL (T0, fieldOffset, T1);	asm.emitST(T0, 0, SP);      } else { // field is two words (double or long)	if (VM.VerifyAssertions) VM.assert(fieldRef.getSize() == 8);	asm.emitLFD  (F0, fieldOffset, T1);	asm.emitSTFDU(F0, -4, SP);      }    } else {		// strong volatiles case      if (fieldRef.getSize() == 4) { // field is one word	// asm.emitISYNC(); // to make getfield of a volatile field a read barrier uncomment this line (Note this is untested and the Opt compiler must also behave.))	asm.emitL  (T1, 0, SP);                // T1 = object to read	// see Appendix E of PowerPC Microprocessor Family: The Programming Environments	asm.emitCAL   (T1, fieldOffset, T1); // T1 = pointer to slot	int label = asm.getMachineCodeIndex();	asm.emitLWARX (T0, 0, T1);           // T0 = value	asm.emitSTWCXr(T0, 0, T1);           // atomically replace with new value (T0)	asm.emitBC    (NE, label);           // retry, if reservation lost	asm.emitST    (T0, 0, SP);           // push value      } else { // volatile field is two words (double or long)	if (VM.VerifyAssertions) VM.assert(fieldRef.getSize() == 8);	asm.emitLtoc  (T0, VM_Entrypoints.doublewordVolatileMutexField.getOffset());	VM_ObjectModel.baselineEmitLoadTIB(asm, T1, T0);	asm.emitL     (S0, VM_Entrypoints.processorLockMethod.getOffset(), T1);	asm.emitMTLR  (S0);	asm.emitCall  (spSaveAreaOffset);	asm.emitL     (T1, 0, SP);	asm.emitLFD   (F0, fieldOffset, T1);	asm.emitSTFDU (F0, -4, SP);	asm.emitLtoc  (T0, VM_Entrypoints.doublewordVolatileMutexField.getOffset());	VM_ObjectModel.baselineEmitLoadTIB(asm, T1, T0);		asm.emitL     (S0, VM_Entrypoints.processorUnlockMethod.getOffset(), T1);	asm.emitMTLR  (S0);	asm.emitCall  (spSaveAreaOffset);      }    }  }