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

Unified Diff: pkg/compiler/lib/src/tree_ir/optimization/pull_into_initializers.dart

Issue 1285173002: dart2js cps: Rewrite more List operations into JS array operations. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: receiverIsNotNull -> optional param Created 5 years, 4 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 side-by-side diff with in-line comments
Download patch
Index: pkg/compiler/lib/src/tree_ir/optimization/pull_into_initializers.dart
diff --git a/pkg/compiler/lib/src/tree_ir/optimization/pull_into_initializers.dart b/pkg/compiler/lib/src/tree_ir/optimization/pull_into_initializers.dart
index 1820f1d8af16a6a235c748810d60483ed345a350..d3ef16e24b9d74c20b93cab9bfa9f54e06753e2a 100644
--- a/pkg/compiler/lib/src/tree_ir/optimization/pull_into_initializers.dart
+++ b/pkg/compiler/lib/src/tree_ir/optimization/pull_into_initializers.dart
@@ -347,6 +347,17 @@ class PullIntoInitializers extends RecursiveTransformer
return node;
}
+ Expression visitApplyBuiltinMethod(ApplyBuiltinMethod node) {
+ node.receiver = visitExpression(node.receiver);
+ if (!node.receiverIsNotNull) {
+ // If the receiver is null, the method lookup throws.
+ ++impureCounter;
+ }
+ rewriteList(node.arguments);
+ ++impureCounter;
+ return node;
+ }
+
@override
Expression visitForeignExpression(ForeignExpression node) {
rewriteList(node.arguments);

Powered by Google App Engine
This is Rietveld 408576698