| Index: runtime/vm/flow_graph_range_analysis.cc
|
| diff --git a/runtime/vm/flow_graph_range_analysis.cc b/runtime/vm/flow_graph_range_analysis.cc
|
| index ed335dab73c5c99d3f5d62f2eb6dc8ea2aab8bdf..61d45289e34b7f74121f5ce3349f95744ebf6dd4 100644
|
| --- a/runtime/vm/flow_graph_range_analysis.cc
|
| +++ b/runtime/vm/flow_graph_range_analysis.cc
|
| @@ -2826,6 +2826,22 @@ void LoadIndexedInstr::InferRange(RangeAnalysis* analysis, Range* range) {
|
| }
|
|
|
|
|
| +void LoadCodeUnitsInstr::InferRange(RangeAnalysis* analysis, Range* range) {
|
| + ASSERT(class_id() == kOneByteStringCid ||
|
| + class_id() == kTwoByteStringCid);
|
| + switch (class_id()) {
|
| + case kOneByteStringCid:
|
| + case kTwoByteStringCid:
|
| + *range = Range(RangeBoundary::FromConstant(0),
|
| + RangeBoundary::FromConstant(kMaxUint32));
|
| + break;
|
| + default:
|
| + UNREACHABLE();
|
| + break;
|
| + }
|
| +}
|
| +
|
| +
|
| void IfThenElseInstr::InferRange(RangeAnalysis* analysis, Range* range) {
|
| const intptr_t min = Utils::Minimum(if_true_, if_false_);
|
| const intptr_t max = Utils::Maximum(if_true_, if_false_);
|
|
|