protected final void TRAP_IF_IMM(OPT_Instruction s) {
protected final void TRAP_IF_IMM(OPT_Instruction s, boolean longConstant) {
  protected final void TRAP_IF_IMM(OPT_Instruction s) {    OPT_RegisterOperand gRes = TrapIf.getGuardResult(s);    OPT_RegisterOperand v1 =  (OPT_RegisterOperand)TrapIf.getVal1(s);    OPT_IntConstantOperand v2 = (OPT_IntConstantOperand)TrapIf.getVal2(s);    OPT_ConditionOperand cond = TrapIf.getCond(s);    OPT_TrapCodeOperand tc = TrapIf.getTCode(s);    // A slightly ugly matter, but we need to deal with combining    // the two pieces of a long register from a LONG_ZERO_CHECK.      // A little awkward, but probably the easiest workaround...    if (tc.getTrapCode() == VM_Runtime.TRAP_DIVIDE_BY_ZERO && v1.type.isLongType()) {      OPT_RegisterOperand rr = regpool.makeTempInt();      EMIT(MIR_Move.create(IA32_MOV, rr, v1.copy()));      EMIT(MIR_BinaryAcc.create(IA32_OR, rr.copy(),                                        new OPT_RegisterOperand(regpool.getSecondReg																					(v1.register), VM_TypeReference.Int)));      v1 = rr.copyD2U();    }     // emit the trap instruction    EMIT(MIR_TrapIf.mutate(s, IA32_TRAPIF, gRes, v1, v2, COND(cond),                                  tc));  }