Index: src/full-codegen/s390/full-codegen-s390.cc |
diff --git a/src/full-codegen/s390/full-codegen-s390.cc b/src/full-codegen/s390/full-codegen-s390.cc |
index 4bced1439da84a5a8de2fc3c93a80055f8264c67..9739de07aa03880cb76e4c74875bd7fa89b100c4 100644 |
--- a/src/full-codegen/s390/full-codegen-s390.cc |
+++ b/src/full-codegen/s390/full-codegen-s390.cc |
@@ -1898,14 +1898,14 @@ void FullCodeGenerator::EmitInlineSmiBinaryOp(BinaryOperation* expr, |
break; |
} |
case Token::ADD: { |
- __ AddAndCheckForOverflow(scratch1, left, right, scratch2, r0); |
- __ BranchOnOverflow(&stub_call); |
+ __ AddP(scratch1, left, right); |
+ __ b(overflow, &stub_call); |
__ LoadRR(right, scratch1); |
break; |
} |
case Token::SUB: { |
- __ SubAndCheckForOverflow(scratch1, left, right, scratch2, r0); |
- __ BranchOnOverflow(&stub_call); |
+ __ SubP(scratch1, left, right); |
+ __ b(overflow, &stub_call); |
__ LoadRR(right, scratch1); |
break; |
} |
@@ -3194,10 +3194,10 @@ void FullCodeGenerator::VisitCountOperation(CountOperation* expr) { |
Register scratch1 = r3; |
Register scratch2 = r4; |
__ LoadSmiLiteral(scratch1, Smi::FromInt(count_value)); |
- __ AddAndCheckForOverflow(r2, r2, scratch1, scratch2, r0); |
- __ BranchOnNoOverflow(&done); |
+ __ AddP(scratch2, r2, scratch1); |
+ __ LoadOnConditionP(nooverflow, r2, scratch2); |
+ __ b(nooverflow, &done); |
// Call stub. Undo operation first. |
- __ SubP(r2, r2, scratch1); |
__ b(&stub_call); |
__ bind(&slow); |
} |