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

Unified Diff: pkg/compiler/lib/src/js_backend/codegen/unsugar.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/js_backend/codegen/unsugar.dart
diff --git a/pkg/compiler/lib/src/js_backend/codegen/unsugar.dart b/pkg/compiler/lib/src/js_backend/codegen/unsugar.dart
index 2596b91bbbb2ed91f420f4a1ac4bb92df7c684f0..4ca64fa9146fd54468609f8a13c39731494bf41a 100644
--- a/pkg/compiler/lib/src/js_backend/codegen/unsugar.dart
+++ b/pkg/compiler/lib/src/js_backend/codegen/unsugar.dart
@@ -150,7 +150,7 @@ class UnsugarVisitor extends TrampolineRecursiveVisitor implements Pass {
// Replace the dummy with the exception parameter. It must be set after
// replacing all uses of [_exceptionParameter].
- unwrapped.arguments[0].changeTo(_exceptionParameter);
+ unwrapped.argumentRefs[0].changeTo(_exceptionParameter);
if (stackTraceParameter.hasAtLeastOneUse) {
InvokeStatic stackTraceValue = insertStaticCallAbove(
@@ -174,9 +174,9 @@ class UnsugarVisitor extends TrampolineRecursiveVisitor implements Pass {
// The subexpression of throw is wrapped in the JavaScript output.
Primitive wrappedException = insertStaticCallAbove(
_glue.getWrapExceptionHelper(),
- [node.value.definition],
+ [node.value],
node);
- node.value.changeTo(wrappedException);
+ node.valueRef.changeTo(wrappedException);
}
processRethrow(Rethrow node) {
@@ -201,16 +201,16 @@ class UnsugarVisitor extends TrampolineRecursiveVisitor implements Pass {
// Some platform libraries will compare non-interceptable objects against
// null using the Dart == operator. These must be translated directly.
if (node.selector == Selectors.equals &&
- node.arguments.length == 1 &&
- isNullConstant(node.arguments[0].definition)) {
+ node.argumentRefs.length == 1 &&
+ isNullConstant(node.argument(0))) {
node.replaceWith(new ApplyBuiltinOperator(
BuiltinOperator.Identical,
- [node.receiver.definition, node.arguments[0].definition],
+ [node.receiver, node.argument(0)],
node.sourceInformation));
return;
}
- Primitive receiver = node.receiver.definition;
+ Primitive receiver = node.receiver;
Primitive newReceiver;
if (receiver == explicitReceiverParameter) {
@@ -225,15 +225,15 @@ class UnsugarVisitor extends TrampolineRecursiveVisitor implements Pass {
}
new LetPrim(newReceiver).insertAbove(node.parent);
}
- node.arguments.insert(0, node.receiver);
- node.receiver = new Reference<Primitive>(newReceiver)..parent = node;
+ node.argumentRefs.insert(0, node.receiverRef);
+ node.receiverRef = new Reference<Primitive>(newReceiver)..parent = node;
node.callingConvention = CallingConvention.Intercepted;
}
processInvokeMethodDirectly(InvokeMethodDirectly node) {
if (!_glue.isInterceptedMethod(node.target)) return;
- Primitive receiver = node.receiver.definition;
+ Primitive receiver = node.receiver;
Primitive newReceiver;
if (receiver == explicitReceiverParameter) {
@@ -248,8 +248,8 @@ class UnsugarVisitor extends TrampolineRecursiveVisitor implements Pass {
}
new LetPrim(newReceiver).insertAbove(node.parent);
}
- node.arguments.insert(0, node.receiver);
- node.receiver = new Reference<Primitive>(newReceiver)..parent = node;
+ node.argumentRefs.insert(0, node.receiverRef);
+ node.receiverRef = new Reference<Primitive>(newReceiver)..parent = node;
node.callingConvention = CallingConvention.Intercepted;
}
}

Powered by Google App Engine
This is Rietveld 408576698