| Index: src/mips/macro-assembler-mips.cc | 
| diff --git a/src/mips/macro-assembler-mips.cc b/src/mips/macro-assembler-mips.cc | 
| index d1e60bd7f468dc1ab0844c472615e55b2126eaf8..9230f06eaf9673a1d33162ec0d12b6e2ed74b8be 100644 | 
| --- a/src/mips/macro-assembler-mips.cc | 
| +++ b/src/mips/macro-assembler-mips.cc | 
| @@ -1186,6 +1186,27 @@ void MacroAssembler::Lsa(Register rd, Register rt, Register rs, uint8_t sa, | 
| } | 
| } | 
|  | 
| +void MacroAssembler::Bovc(Register rs, Register rt, Label* L) { | 
| +  if (is_trampoline_emitted()) { | 
| +    Label skip; | 
| +    bnvc(rs, rt, &skip); | 
| +    BranchLong(L, PROTECT); | 
| +    bind(&skip); | 
| +  } else { | 
| +    bovc(rs, rt, L); | 
| +  } | 
| +} | 
| + | 
| +void MacroAssembler::Bnvc(Register rs, Register rt, Label* L) { | 
| +  if (is_trampoline_emitted()) { | 
| +    Label skip; | 
| +    bovc(rs, rt, &skip); | 
| +    BranchLong(L, PROTECT); | 
| +    bind(&skip); | 
| +  } else { | 
| +    bnvc(rs, rt, L); | 
| +  } | 
| +} | 
|  | 
| // ------------Pseudo-instructions------------- | 
|  | 
| @@ -3337,7 +3358,6 @@ bool MacroAssembler::BranchShortCheck(int32_t offset, Label* L, Condition cond, | 
| Register rs, const Operand& rt, | 
| BranchDelaySlot bdslot) { | 
| BRANCH_ARGS_CHECK(cond, rs, rt); | 
| - | 
| if (!L) { | 
| if (IsMipsArchVariant(kMips32r6) && bdslot == PROTECT) { | 
| DCHECK(is_int26(offset)); | 
| @@ -5394,9 +5414,9 @@ void MacroAssembler::AddBranchOvf(Register dst, Register left, Register right, | 
| Move(left_reg, left); | 
| Move(right_reg, right); | 
| addu(dst, left, right); | 
| -      bnvc(left_reg, right_reg, no_overflow_label); | 
| +      Bnvc(left_reg, right_reg, no_overflow_label); | 
| } else { | 
| -      bovc(left, right, overflow_label); | 
| +      Bovc(left, right, overflow_label); | 
| addu(dst, left, right); | 
| if (no_overflow_label) bc(no_overflow_label); | 
| } | 
|  |