Index: src/full-codegen/mips/full-codegen-mips.cc |
diff --git a/src/full-codegen/mips/full-codegen-mips.cc b/src/full-codegen/mips/full-codegen-mips.cc |
index 92236cbd877eb1285fada18f0622e24a6e361a38..c8ca96749968c3abcb1375dd533015b2cebddd26 100644 |
--- a/src/full-codegen/mips/full-codegen-mips.cc |
+++ b/src/full-codegen/mips/full-codegen-mips.cc |
@@ -2297,11 +2297,10 @@ void FullCodeGenerator::EmitInlineSmiBinaryOp(BinaryOperation* expr, |
break; |
} |
case Token::ADD: |
- __ AdduAndCheckForOverflow(v0, left, right, scratch1); |
- __ BranchOnOverflow(&stub_call, scratch1); |
+ __ AddBranchOvf(v0, left, Operand(right), &stub_call); |
break; |
case Token::SUB: |
- __ SubuAndCheckForOverflow(v0, left, right, scratch1); |
+ __ SubBranchOvf(v0, left, Operand(right), &stub_call); |
__ BranchOnOverflow(&stub_call, scratch1); |
paul.l...
2015/12/04 20:04:12
No need for this macro-instr anymore, handled in p
balazs.kilvady
2015/12/05 11:58:44
Thanks for catching it.
Done.
|
break; |
case Token::MUL: { |
@@ -3957,8 +3956,7 @@ void FullCodeGenerator::EmitFastOneByteArrayJoin(CallRuntime* expr) { |
__ lbu(scratch1, FieldMemOperand(scratch1, Map::kInstanceTypeOffset)); |
__ JumpIfInstanceTypeIsNotSequentialOneByte(scratch1, scratch2, &bailout); |
__ lw(scratch1, FieldMemOperand(string, SeqOneByteString::kLengthOffset)); |
- __ AdduAndCheckForOverflow(string_length, string_length, scratch1, scratch3); |
- __ BranchOnOverflow(&bailout, scratch3); |
+ __ AddBranchOvf(string_length, string_length, Operand(scratch1), &bailout); |
__ Branch(&loop, lt, element, Operand(elements_end)); |
// If array_length is 1, return elements[0], a string. |
@@ -3991,8 +3989,7 @@ void FullCodeGenerator::EmitFastOneByteArrayJoin(CallRuntime* expr) { |
__ Branch(&bailout, ne, scratch3, Operand(zero_reg)); |
__ And(scratch3, scratch2, Operand(0x80000000)); |
__ Branch(&bailout, ne, scratch3, Operand(zero_reg)); |
- __ AdduAndCheckForOverflow(string_length, string_length, scratch2, scratch3); |
- __ BranchOnOverflow(&bailout, scratch3); |
+ __ AddBranchOvf(string_length, string_length, Operand(scratch2), &bailout); |
__ SmiUntag(string_length); |
// Bailout for large object allocations. |
@@ -4458,10 +4455,8 @@ void FullCodeGenerator::VisitCountOperation(CountOperation* expr) { |
} |
Register scratch1 = a1; |
- Register scratch2 = t0; |
__ li(scratch1, Operand(Smi::FromInt(count_value))); |
- __ AdduAndCheckForOverflow(v0, v0, scratch1, scratch2); |
- __ BranchOnNoOverflow(&done, scratch2); |
+ __ AddBranchNoOvf(v0, v0, Operand(scratch1), &done); |
// Call stub. Undo operation first. |
__ Move(v0, a0); |
__ jmp(&stub_call); |