| Index: src/mips64/macro-assembler-mips64.cc
|
| diff --git a/src/mips64/macro-assembler-mips64.cc b/src/mips64/macro-assembler-mips64.cc
|
| index 5da9402d0d6e59f807ef0cad6343c0508fede526..53b4ef2beae2f7bdbe002910ff951bbb8a48b0b8 100644
|
| --- a/src/mips64/macro-assembler-mips64.cc
|
| +++ b/src/mips64/macro-assembler-mips64.cc
|
| @@ -1332,6 +1332,27 @@ void MacroAssembler::Dlsa(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-------------
|
|
|
| @@ -5606,9 +5627,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);
|
| }
|
|
|