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

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

Issue 1084153002: Make continuations last in CPS IR constructors. (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
« no previous file with comments | « no previous file | pkg/compiler/lib/src/cps_ir/cps_ir_builder_task.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/compiler/lib/src/cps_ir/cps_ir_builder.dart
diff --git a/pkg/compiler/lib/src/cps_ir/cps_ir_builder.dart b/pkg/compiler/lib/src/cps_ir/cps_ir_builder.dart
index cdaf5991f26c2f6f37d39bde54bfe8c5de5a0924..2ebe34ba70d410db8862a642d21e0bc451535b9c 100644
--- a/pkg/compiler/lib/src/cps_ir/cps_ir_builder.dart
+++ b/pkg/compiler/lib/src/cps_ir/cps_ir_builder.dart
@@ -623,7 +623,7 @@ abstract class IrBuilder {
assert(!element.isInstanceMember);
assert(isOpen);
return _continueWithExpression(
- (k) => new ir.InvokeStatic(element, selector, k, arguments,
+ (k) => new ir.InvokeStatic(element, selector, arguments, k,
sourceInformation));
}
@@ -634,7 +634,7 @@ abstract class IrBuilder {
assert(isOpen);
return _continueWithExpression(
(k) => new ir.InvokeMethodDirectly(
- buildThis(), target, selector, k, arguments));
+ buildThis(), target, selector, arguments, k));
}
ir.Primitive _buildInvokeDynamic(ir.Primitive receiver,
@@ -643,7 +643,7 @@ abstract class IrBuilder {
{SourceInformation sourceInformation}) {
assert(isOpen);
return _continueWithExpression(
- (k) => new ir.InvokeMethod(receiver, selector, k, arguments,
+ (k) => new ir.InvokeMethod(receiver, selector, arguments, k,
sourceInformation: sourceInformation));
}
@@ -1173,7 +1173,7 @@ abstract class IrBuilder {
ir.Primitive buildStringConcatenation(List<ir.Primitive> arguments) {
assert(isOpen);
return _continueWithExpression(
- (k) => new ir.ConcatenateStrings(k, arguments));
+ (k) => new ir.ConcatenateStrings(arguments, k));
}
/// Create an invocation of the `call` method of [functionExpression], where
@@ -1461,8 +1461,8 @@ abstract class IrBuilder {
add(new ir.LetCont(iteratorInvoked,
new ir.InvokeMethod(expressionReceiver,
new Selector.getter("iterator", null),
- iteratorInvoked,
- emptyArguments)));
+ emptyArguments,
+ iteratorInvoked)));
// Fill with:
// let cont loop(x, ...) =
@@ -1477,8 +1477,8 @@ abstract class IrBuilder {
add(new ir.LetCont(moveNextInvoked,
new ir.InvokeMethod(iterator,
new Selector.call("moveNext", null, 0),
- moveNextInvoked,
- emptyArguments)));
+ emptyArguments,
+ moveNextInvoked)));
// As a delimited term, build:
// <<BODY>> =
@@ -1497,7 +1497,7 @@ abstract class IrBuilder {
ir.Continuation currentInvoked = new ir.Continuation([currentValue]);
bodyBuilder.add(new ir.LetCont(currentInvoked,
new ir.InvokeMethod(iterator, new Selector.getter("current", null),
- currentInvoked, emptyArguments)));
+ emptyArguments, currentInvoked)));
// TODO(sra): Does this cover all cases? The general setter case include
// super.
// TODO(johnniwinther): Extract this as a provided strategy.
@@ -2292,8 +2292,8 @@ class DartIrBuilder extends IrBuilder {
Selector selector =
new Selector(SelectorKind.CALL, element.memberName, callStructure);
return _continueWithExpression(
- (k) => new ir.InvokeConstructor(type, element, selector, k,
- arguments));
+ (k) => new ir.InvokeConstructor(type, element, selector,
+ arguments, k));
}
}
@@ -2547,7 +2547,7 @@ class JsIrBuilder extends IrBuilder {
new Selector.call(target.name, target.library, arguments.length);
return _continueWithExpression(
(k) => new ir.InvokeMethodDirectly(
- receiver, target, selector, k, arguments));
+ receiver, target, selector, arguments, k));
}
/// Loads parameters to a constructor body into the environment.
@@ -2588,8 +2588,8 @@ class JsIrBuilder extends IrBuilder {
..addAll(typeArguments);
}
return _continueWithExpression(
- (k) => new ir.InvokeConstructor(type, element, selector, k,
- arguments));
+ (k) => new ir.InvokeConstructor(type, element, selector,
+ arguments, k));
}
ir.Primitive buildTypeExpression(DartType type) {
« no previous file with comments | « no previous file | pkg/compiler/lib/src/cps_ir/cps_ir_builder_task.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698