call.insertAfter(MIR_Move.create(IA32_MOV, R(r), M));
call.insertAfter(MIR_Move.create(IA32_MOV, new OPT_RegisterOperand(r, VM_TypeReference.Int), M));
  static void restoreNonvolatilesAfterSysCall(OPT_Instruction call,                                              OPT_IR ir) {    OPT_PhysicalRegisterSet phys = ir.regpool.getPhysicalRegisterSet();    OPT_StackManager sm = (OPT_StackManager)ir.stackManager;        // add one to account for the processor register.      int nToSave = OPT_PhysicalRegisterSet.getNumberOfNonvolatileGPRs() + 1;    // get the offset into the stack frame of where to stash the first    // nonvolatile for this case.    int location = sm.getOffsetForSysCall();        // restore each non-volatile    for (Enumeration e = phys.enumerateNonvolatileGPRs();         e.hasMoreElements(); ) {      OPT_Register r = (OPT_Register)e.nextElement();      OPT_Operand M =         new OPT_StackLocationOperand(true, -location, (byte)WORDSIZE);      call.insertAfter(MIR_Move.create(IA32_MOV, R(r), M));      location += WORDSIZE;    }        // restore the processor register    OPT_Register PR = phys.getPR();    OPT_Operand M =       new OPT_StackLocationOperand(true, -location, (byte)WORDSIZE);    call.insertAfter(MIR_Move.create(IA32_MOV, R(PR), M));  }