Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(101)

Side by Side Diff: pkg/compiler/lib/src/tree_ir/optimization/statement_rewriter.dart

Issue 1195573003: dart2js cps: Refactor and optimize string concatenations. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Revert doc comment change Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 library tree_ir.optimization.statement_rewriter; 5 library tree_ir.optimization.statement_rewriter;
6 6
7 import 'optimization.dart' show Pass; 7 import 'optimization.dart' show Pass;
8 import '../tree_ir_nodes.dart'; 8 import '../tree_ir_nodes.dart';
9 9
10 /** 10 /**
(...skipping 370 matching lines...) Expand 10 before | Expand all | Expand 10 after
381 _rewriteList(node.arguments); 381 _rewriteList(node.arguments);
382 node.receiver = visitExpression(node.receiver); 382 node.receiver = visitExpression(node.receiver);
383 return node; 383 return node;
384 } 384 }
385 385
386 Expression visitInvokeConstructor(InvokeConstructor node) { 386 Expression visitInvokeConstructor(InvokeConstructor node) {
387 _rewriteList(node.arguments); 387 _rewriteList(node.arguments);
388 return node; 388 return node;
389 } 389 }
390 390
391 Expression visitConcatenateStrings(ConcatenateStrings node) {
392 _rewriteList(node.arguments);
393 return node;
394 }
395
396 Expression visitConditional(Conditional node) { 391 Expression visitConditional(Conditional node) {
397 // Conditional expressions do not exist in the input, but they are 392 // Conditional expressions do not exist in the input, but they are
398 // introduced by if-to-conditional conversion. 393 // introduced by if-to-conditional conversion.
399 // Their subexpressions have already been processed; do not reprocess them. 394 // Their subexpressions have already been processed; do not reprocess them.
400 // 395 //
401 // Note that this can only happen for conditional expressions. It is an 396 // Note that this can only happen for conditional expressions. It is an
402 // error for any other type of expression to be visited twice or to be 397 // error for any other type of expression to be visited twice or to be
403 // created and then visited. We use this special treatment of conditionals 398 // created and then visited. We use this special treatment of conditionals
404 // to allow for assignment inlining after if-to-conditional conversion. 399 // to allow for assignment inlining after if-to-conditional conversion.
405 // 400 //
(...skipping 632 matching lines...) Expand 10 before | Expand all | Expand 10 after
1038 IsVariableUsedVisitor(this.variable); 1033 IsVariableUsedVisitor(this.variable);
1039 1034
1040 visitVariableUse(VariableUse node) { 1035 visitVariableUse(VariableUse node) {
1041 if (node.variable == variable) { 1036 if (node.variable == variable) {
1042 wasFound = true; 1037 wasFound = true;
1043 } 1038 }
1044 } 1039 }
1045 1040
1046 visitInnerFunction(FunctionDefinition node) {} 1041 visitInnerFunction(FunctionDefinition node) {}
1047 } 1042 }
OLDNEW
« no previous file with comments | « pkg/compiler/lib/src/js_backend/codegen/unsugar.dart ('k') | pkg/compiler/lib/src/tree_ir/tree_ir_builder.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698