| Index: runtime/vm/intermediate_language_ia32.cc
|
| diff --git a/runtime/vm/intermediate_language_ia32.cc b/runtime/vm/intermediate_language_ia32.cc
|
| index fbf3ebae1e5c4ae9f9969c4efa86ee38384134da..dcc1ca6e1d3d9d1859c917fb576426019d568247 100644
|
| --- a/runtime/vm/intermediate_language_ia32.cc
|
| +++ b/runtime/vm/intermediate_language_ia32.cc
|
| @@ -2902,8 +2902,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));
|
| @@ -3269,7 +3268,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 {
|
| @@ -3289,7 +3288,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);
|
| @@ -5362,7 +5361,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 {
|
|
|