| 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);
|
| }
|
|
|