| Index: runtime/vm/intermediate_language_arm64.cc
|
| diff --git a/runtime/vm/intermediate_language_arm64.cc b/runtime/vm/intermediate_language_arm64.cc
|
| index da4e8b84660b4bbcc663c2fe7f9b2300bde7b54f..3839adcfe8fb3c4c6e07e5050fbaa9fd72f16606 100644
|
| --- a/runtime/vm/intermediate_language_arm64.cc
|
| +++ b/runtime/vm/intermediate_language_arm64.cc
|
| @@ -2579,8 +2579,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);
|
| @@ -2913,7 +2912,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);
|
|
|