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

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

Issue 1040093002: Change the collection of continuation jumps. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Clean up some comments. 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/cps_ir/cps_ir_nodes.dart
diff --git a/pkg/compiler/lib/src/cps_ir/cps_ir_nodes.dart b/pkg/compiler/lib/src/cps_ir/cps_ir_nodes.dart
index f3d9f798b09f034d458ffd8dccafac6c5b2e708d..2c2976e38272f2ac993a41b9d604322b28d456e6 100644
--- a/pkg/compiler/lib/src/cps_ir/cps_ir_nodes.dart
+++ b/pkg/compiler/lib/src/cps_ir/cps_ir_nodes.dart
@@ -502,13 +502,11 @@ class InvokeContinuation extends Expression {
bool isRecursive;
InvokeContinuation(Continuation cont, List<Primitive> args,
- {recursive: false})
+ {this.isRecursive: false})
: continuation = new Reference<Continuation>(cont),
- arguments = _referenceList(args),
- isRecursive = recursive {
- assert(cont.parameters == null ||
- cont.parameters.length == args.length);
- if (recursive) cont.isRecursive = true;
+ arguments = _referenceList(args) {
+ assert(cont.parameters == null || cont.parameters.length == args.length);
+ if (isRecursive) cont.isRecursive = true;
}
/// A continuation invocation whose target and arguments will be filled
@@ -516,10 +514,9 @@ class InvokeContinuation extends Expression {
///
/// Used as a placeholder for a jump whose target is not yet created
/// (e.g., in the translation of break and continue).
- InvokeContinuation.uninitialized({recursive: false})
+ InvokeContinuation.uninitialized({this.isRecursive: false})
: continuation = null,
- arguments = null,
- isRecursive = recursive;
+ arguments = null;
accept(Visitor visitor) => visitor.visitInvokeContinuation(this);
}
@@ -661,7 +658,7 @@ class LiteralList extends Primitive {
final GenericType type;
final List<Reference<Primitive>> values;
- LiteralList(this.type, Iterable<Primitive> values)
+ LiteralList(this.type, List<Primitive> values)
: this.values = _referenceList(values);
accept(Visitor visitor) => visitor.visitLiteralList(this);
@@ -723,11 +720,11 @@ class Continuation extends Definition<Continuation> implements InteriorNode {
int parent_index;
// A continuation is recursive if it has any recursive invocations.
- bool isRecursive = false;
+ bool isRecursive;
bool get isReturnContinuation => body == null;
- Continuation(this.parameters);
+ Continuation(this.parameters, {this.isRecursive: false});
Continuation.retrn() : parameters = <Parameter>[new Parameter(null)];

Powered by Google App Engine
This is Rietveld 408576698