| Index: runtime/vm/intermediate_language_arm64.cc
|
| diff --git a/runtime/vm/intermediate_language_arm64.cc b/runtime/vm/intermediate_language_arm64.cc
|
| index ec073f7f5f641528cee0a856f01c76a9ed6b365e..c39381254b017033e863d5a6959a0c8745b30f3e 100644
|
| --- a/runtime/vm/intermediate_language_arm64.cc
|
| +++ b/runtime/vm/intermediate_language_arm64.cc
|
| @@ -2578,8 +2578,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->IsNegative();
|
| if (right_may_be_negative) {
|
| ASSERT(shift_left->CanDeoptimize());
|
| __ CompareRegisters(right, ZR);
|
| @@ -2912,7 +2911,7 @@ void BinarySmiOpInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
|
| // sarl operation masks the count to 6 bits.
|
| const intptr_t kCountLimit = 0x3F;
|
| if ((right_range == NULL) ||
|
| - !right_range->IsWithin(RangeBoundary::kMinusInfinity, kCountLimit)) {
|
| + !right_range->OnlyLessThanOrEqualTo(kCountLimit)) {
|
| __ LoadImmediate(TMP2, kCountLimit, PP);
|
| __ CompareRegisters(TMP, TMP2);
|
| __ csel(TMP, TMP2, TMP, GT);
|
|
|