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

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

Issue 1743283002: dart2js cps: Use definitions by default, not references. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Fix doc comments and long lines Created 4 years, 10 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/redundant_phi.dart
diff --git a/pkg/compiler/lib/src/cps_ir/redundant_phi.dart b/pkg/compiler/lib/src/cps_ir/redundant_phi.dart
index f5d5423add3ea944f048b385858fdf303cc1bcfa..b612d135ae5621ebf4cb4ab1886cbc0d567b7a8a 100644
--- a/pkg/compiler/lib/src/cps_ir/redundant_phi.dart
+++ b/pkg/compiler/lib/src/cps_ir/redundant_phi.dart
@@ -47,7 +47,7 @@ class RedundantPhiEliminator extends TrampolineRecursiveVisitor implements Pass
List<InvokeContinuation> invokes = <InvokeContinuation>[];
for (Reference ref = cont.firstRef; ref != null; ref = ref.next) {
Node parent = ref.parent;
- if (parent is InvokeContinuation && ref == parent.continuation) {
+ if (parent is InvokeContinuation && ref == parent.continuationRef) {
invokes.add(parent);
} else {
return; // Can't optimize.
@@ -64,7 +64,7 @@ class RedundantPhiEliminator extends TrampolineRecursiveVisitor implements Pass
Primitive uniqueDefinitionOf(int i) {
Primitive value = null;
for (InvokeContinuation invoke in invokes) {
- Primitive def = invoke.arguments[i].definition.effectiveDefinition;
+ Primitive def = invoke.argument(i).effectiveDefinition;
if (cont.parameters[i] == def) {
// Invocation param == param in LetCont (i.e. a recursive call).
@@ -110,7 +110,7 @@ class RedundantPhiEliminator extends TrampolineRecursiveVisitor implements Pass
if (src != dst) {
cont.parameters[dst] = cont.parameters[src];
for (InvokeContinuation invoke in invokes) {
- invoke.arguments[dst] = invoke.arguments[src];
+ invoke.argumentRefs[dst] = invoke.argumentRefs[src];
}
}
dst++;
@@ -126,7 +126,7 @@ class RedundantPhiEliminator extends TrampolineRecursiveVisitor implements Pass
ref = ref.next) {
Node parent = ref.parent;
if (parent is InvokeContinuation) {
- Continuation thatCont = parent.continuation.definition;
+ Continuation thatCont = parent.continuation;
if (thatCont != cont) {
workSet.add(thatCont);
}
@@ -140,7 +140,7 @@ class RedundantPhiEliminator extends TrampolineRecursiveVisitor implements Pass
// arguments are unlinked to keep definition usages up to date.
oldDefinition.replaceUsesWith(uniqueDefinition);
for (InvokeContinuation invoke in invokes) {
- invoke.arguments[src].unlink();
+ invoke.argumentRefs[src].unlink();
}
// Finally, if the substituted definition is not in scope of the affected
@@ -156,7 +156,7 @@ class RedundantPhiEliminator extends TrampolineRecursiveVisitor implements Pass
// Remove trailing items from parameter and argument lists.
cont.parameters.length = dst;
for (InvokeContinuation invoke in invokes) {
- invoke.arguments.length = dst;
+ invoke.argumentRefs.length = dst;
}
}

Powered by Google App Engine
This is Rietveld 408576698