| Index: runtime/vm/intermediate_language_ia32.cc
|
| diff --git a/runtime/vm/intermediate_language_ia32.cc b/runtime/vm/intermediate_language_ia32.cc
|
| index 83e6f5d6fccf1513b9629bb333927bc15a3bfd31..cf0c972d3d7cca209540a4ace7ea330416918e5e 100644
|
| --- a/runtime/vm/intermediate_language_ia32.cc
|
| +++ b/runtime/vm/intermediate_language_ia32.cc
|
| @@ -2901,8 +2901,7 @@ static void EmitSmiShiftLeft(FlowGraphCompiler* compiler,
|
| if (is_truncating) {
|
| if (right_needs_check) {
|
| const bool right_may_be_negative =
|
| - (right_range == NULL) ||
|
| - !right_range->IsWithin(0, RangeBoundary::kPlusInfinity);
|
| + (right_range == NULL) || !right_range->IsPositive();
|
| if (right_may_be_negative) {
|
| ASSERT(shift_left->CanDeoptimize());
|
| __ cmpl(right, Immediate(0));
|
| @@ -3268,7 +3267,7 @@ void BinarySmiOpInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
|
| __ jmp(&done, Assembler::kNearJump);
|
| __ Bind(&subtract);
|
| __ subl(result, right);
|
| - } else if (right_range->IsWithin(0, RangeBoundary::kPlusInfinity)) {
|
| + } else if (right_range->IsPositive()) {
|
| // Right is positive.
|
| __ addl(result, right);
|
| } else {
|
| @@ -3288,7 +3287,7 @@ void BinarySmiOpInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
|
| // sarl operation masks the count to 5 bits.
|
| const intptr_t kCountLimit = 0x1F;
|
| if ((right_range == NULL) ||
|
| - !right_range->IsWithin(RangeBoundary::kMinusInfinity, kCountLimit)) {
|
| + !right_range->OnlyLessThanOrEqualTo(kCountLimit)) {
|
| __ cmpl(right, Immediate(kCountLimit));
|
| Label count_ok;
|
| __ j(LESS, &count_ok, Assembler::kNearJump);
|
| @@ -5360,7 +5359,7 @@ void MergedMathInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
|
| __ jmp(&done, Assembler::kNearJump);
|
| __ Bind(&subtract);
|
| __ subl(EDX, right);
|
| - } else if (right_range->IsWithin(0, RangeBoundary::kPlusInfinity)) {
|
| + } else if (right_range->IsPositive()) {
|
| // Right is positive.
|
| __ addl(EDX, right);
|
| } else {
|
|
|