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

Unified Diff: pkg/compiler/lib/src/cps_ir/scalar_replacement.dart

Issue 1375513002: dart2js cps: Add helpers for common IR manipulation. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Fix type annotation Created 5 years, 3 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/cps_ir/scalar_replacement.dart
diff --git a/pkg/compiler/lib/src/cps_ir/scalar_replacement.dart b/pkg/compiler/lib/src/cps_ir/scalar_replacement.dart
index 18bb14d827a65c9f4000ec27200744011117b775..b9b6b09c378c616acfcca8d7b99027923a292bfc 100644
--- a/pkg/compiler/lib/src/cps_ir/scalar_replacement.dart
+++ b/pkg/compiler/lib/src/cps_ir/scalar_replacement.dart
@@ -141,11 +141,11 @@ class ScalarReplacementVisitor extends RecursiveVisitor {
initialValue = new Constant(new NullConstantValue());
LetPrim let = new LetPrim(initialValue);
let.primitive.parent = let;
- insertionPoint = insertAtBody(insertionPoint, let);
+ insertionPoint = let..insertBelow(insertionPoint);
}
LetMutable let = new LetMutable(variable, initialValue);
let.value.parent = let;
- insertionPoint = insertAtBody(insertionPoint, let);
+ insertionPoint = let..insertBelow(insertionPoint);
}
// Replace references with MutableVariable operations or references to the
@@ -188,15 +188,6 @@ class ScalarReplacementVisitor extends RecursiveVisitor {
deleteLetPrimOf(allocation);
}
- InteriorNode insertAtBody(
- InteriorNode insertionPoint, InteriorExpression let) {
- let.parent = insertionPoint;
- let.body = insertionPoint.body;
- let.body.parent = let;
- insertionPoint.body = let;
- return let;
- }
-
/// Replaces [old] with [primitive] in [old]'s parent [LetPrim].
void replacePrimitive(Primitive old, Primitive primitive) {
LetPrim letPrim = old.parent;
@@ -206,11 +197,7 @@ class ScalarReplacementVisitor extends RecursiveVisitor {
void deleteLetPrimOf(Primitive primitive) {
assert(primitive.hasNoUses);
LetPrim letPrim = primitive.parent;
- Node child = letPrim.body;
- InteriorNode parent = letPrim.parent;
- child.parent = parent;
- parent.body = child;
-
+ letPrim.remove();
deletePrimitive(primitive);
}
« no previous file with comments | « pkg/compiler/lib/src/cps_ir/remove_refinements.dart ('k') | pkg/compiler/lib/src/cps_ir/share_interceptors.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698