| Index: pkg/compiler/lib/src/tree_ir/optimization/loop_rewriter.dart
|
| diff --git a/pkg/compiler/lib/src/tree_ir/optimization/loop_rewriter.dart b/pkg/compiler/lib/src/tree_ir/optimization/loop_rewriter.dart
|
| index 14069e87ac0e6a9b3bebc134b43a49bbf0ab14c2..2f5a9fd870735b49b6173584b856694908f60011 100644
|
| --- a/pkg/compiler/lib/src/tree_ir/optimization/loop_rewriter.dart
|
| +++ b/pkg/compiler/lib/src/tree_ir/optimization/loop_rewriter.dart
|
| @@ -52,13 +52,13 @@ import '../tree_ir_nodes.dart';
|
| ///
|
| /// Note that the pattern above needs no iteration since nested ifs have been
|
| /// collapsed previously in the [StatementRewriter] phase.
|
| -///
|
| +///
|
| ///
|
| /// PULL INTO UPDATE EXPRESSION:
|
| -///
|
| +///
|
| /// Assignment expressions before the unique continue to a [whileCondition] are
|
| /// pulled into the updates for the loop.
|
| -///
|
| +///
|
| /// L:
|
| /// for (; condition; updates) {
|
| /// S [ x = E; continue L ]
|
| @@ -69,7 +69,7 @@ import '../tree_ir_nodes.dart';
|
| /// S [ continue L ]
|
| /// }
|
| ///
|
| -/// The decision to only pull in assignments is a heuristic to balance
|
| +/// The decision to only pull in assignments is a heuristic to balance
|
| /// readability and stack trace usability versus the modest code size
|
| /// reduction one might get by aggressively moving expressions into the
|
| /// updates.
|
| @@ -88,11 +88,6 @@ class LoopRewriter extends RecursiveTransformer
|
| root.body = visitStatement(root.body);
|
| }
|
|
|
| - @override
|
| - void visitInnerFunction(FunctionDefinition node) {
|
| - node.body = new LoopRewriter().visitStatement(node.body);
|
| - }
|
| -
|
| Statement visitContinue(Continue node) {
|
| usedContinueLabels.add(node.target);
|
| return node;
|
|
|