| Index: runtime/vm/intermediate_language.cc
|
| diff --git a/runtime/vm/intermediate_language.cc b/runtime/vm/intermediate_language.cc
|
| index 86240ec4255c2ebb9961f42f07cbe28a28da37c8..1007f8e5ebcf4df193f5e785c02bf4c8d96a322b 100644
|
| --- a/runtime/vm/intermediate_language.cc
|
| +++ b/runtime/vm/intermediate_language.cc
|
| @@ -2158,7 +2158,7 @@ RangeBoundary RangeBoundary::LowerBound() const {
|
| if (IsConstant()) return *this;
|
| return Add(Range::ConstantMin(symbol()->range()),
|
| RangeBoundary::FromConstant(offset_),
|
| - MinSmi());
|
| + OverflowedMinSmi());
|
| }
|
|
|
|
|
| @@ -2166,7 +2166,7 @@ RangeBoundary RangeBoundary::UpperBound() const {
|
| if (IsConstant()) return *this;
|
| return Add(Range::ConstantMax(symbol()->range()),
|
| RangeBoundary::FromConstant(offset_),
|
| - MaxSmi());
|
| + OverflowedMaxSmi());
|
| }
|
|
|
|
|
| @@ -2316,8 +2316,8 @@ RangeBoundary RangeBoundary::Min(RangeBoundary a, RangeBoundary b) {
|
| return (a.offset() <= b.offset()) ? a : b;
|
| }
|
|
|
| - const intptr_t min_a = a.LowerBound().value();
|
| - const intptr_t min_b = b.LowerBound().value();
|
| + const intptr_t min_a = a.LowerBound().Clamp().value();
|
| + const intptr_t min_b = b.LowerBound().Clamp().value();
|
|
|
| return RangeBoundary::FromConstant(Utils::Minimum(min_a, min_b));
|
| }
|
| @@ -2328,8 +2328,8 @@ RangeBoundary RangeBoundary::Max(RangeBoundary a, RangeBoundary b) {
|
| return (a.offset() >= b.offset()) ? a : b;
|
| }
|
|
|
| - const intptr_t max_a = a.UpperBound().value();
|
| - const intptr_t max_b = b.UpperBound().value();
|
| + const intptr_t max_a = a.UpperBound().Clamp().value();
|
| + const intptr_t max_b = b.UpperBound().Clamp().value();
|
|
|
| return RangeBoundary::FromConstant(Utils::Maximum(max_a, max_b));
|
| }
|
|
|