Chromium Code Reviews| Index: pkg/compiler/lib/src/ssa/value_range_analyzer.dart |
| diff --git a/pkg/compiler/lib/src/ssa/value_range_analyzer.dart b/pkg/compiler/lib/src/ssa/value_range_analyzer.dart |
| index 23d50870e339f6db27be4370ae36908812454fd5..b4a9d55cc6e8f4d89431c3032c795fcf98847060 100644 |
| --- a/pkg/compiler/lib/src/ssa/value_range_analyzer.dart |
| +++ b/pkg/compiler/lib/src/ssa/value_range_analyzer.dart |
| @@ -698,12 +698,11 @@ class SsaValueRangeAnalyzer extends HBaseVisitor implements OptimizationPhase { |
| } |
| Range visitFieldGet(HFieldGet fieldGet) { |
| - if (!fieldGet.isInteger(closedWorld)) return info.newUnboundRange(); |
|
Johnni Winther
2017/02/02 08:33:36
Why is this case removed?
|
| - if (!fieldGet.receiver.isIndexablePrimitive(closedWorld)) { |
| - return visitInstruction(fieldGet); |
| - } |
| - assert(fieldGet.element == backendHelpers.jsIndexableLength); |
| - PositiveValue value = info.newPositiveValue(fieldGet); |
| + return visitInstruction(fieldGet); |
| + } |
| + |
| + Range visitGetLength(HGetLength node) { |
| + PositiveValue value = info.newPositiveValue(node); |
| // We know this range is above zero. To simplify the analysis, we |
| // put the zero value as the lower bound of this range. This |
| // allows to easily remove the second bound check in the following |