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

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

Issue 1055243006: tree-ir: Do not merge captured parameters with other variables. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 5 years, 8 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/variable_merger.dart
diff --git a/pkg/compiler/lib/src/tree_ir/optimization/variable_merger.dart b/pkg/compiler/lib/src/tree_ir/optimization/variable_merger.dart
index 32a8cffb065d6e313599dec255ff5bc4a3d16b9f..fb69832b0009e7044a3436479313c5e32c27acfa 100644
--- a/pkg/compiler/lib/src/tree_ir/optimization/variable_merger.dart
+++ b/pkg/compiler/lib/src/tree_ir/optimization/variable_merger.dart
@@ -421,6 +421,7 @@ Map<Variable, Variable> _computeRegisterAllocation(List<Block> blocks,
// cannot be merged with each other. Ensure that they are not substituted.
// Other variables can still be substituted by a parameter.
for (Variable parameter in parameters) {
+ if (parameter.isCaptured) continue;
asgerf 2015/04/15 10:43:39 This is a bug that snuck in with the last change.
subst[parameter] = parameter;
registers[group(parameter)] = <Variable>[parameter];
}
« no previous file with comments | « no previous file | pkg/compiler/lib/src/tree_ir/tree_ir_builder.dart » ('j') | pkg/compiler/lib/src/tree_ir/tree_ir_builder.dart » ('J')

Powered by Google App Engine
This is Rietveld 408576698