VM.assert(origRegOp.register.getType() == newRegOp.register.getType());
VM._assert(origRegOp.register.getType() == newRegOp.register.getType());
  static void transferUse(OPT_RegisterOperand origRegOp, 			  OPT_RegisterOperand newRegOp) {    if (VM.VerifyAssertions)      VM.assert(origRegOp.register.getType() == newRegOp.register.getType());    OPT_Instruction inst = origRegOp.instruction;    if (DEBUG)      VM.sysWrite("Transfering a use of " + origRegOp + " in " + inst +           " to " + newRegOp + "\n");    removeUse(origRegOp);    // check to see if the regOp type is NOT a ref, but the newRegOp type    // is a reference.   This can occur because of magic calls.    if (!origRegOp.type.isReferenceType() && newRegOp.type.isReferenceType()) {      // clone the newRegOp object and use it to replace the regOp object      OPT_RegisterOperand copiedRegOp = (OPT_RegisterOperand)newRegOp.copy();      inst.replaceOperand(origRegOp, copiedRegOp);      recordUse(copiedRegOp);    } else {      // just copy the register      origRegOp.register = newRegOp.register;      recordUse(origRegOp);    }    if (DEBUG) {      printUses(origRegOp.register);      printUses(newRegOp.register);    }  }