| 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 8b597d734af6e46e1ac27b908a4386186c3c0245..ea74cd68e86377e194633b88e036d2cf684b6ff0 100644
|
| --- a/runtime/vm/flow_graph_range_analysis.cc
|
| +++ b/runtime/vm/flow_graph_range_analysis.cc
|
| @@ -2827,6 +2827,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_);
|
|
|