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

Unified Diff: dart/sdk/lib/_internal/compiler/implementation/ssa/nodes.dart

Issue 57773002: Repro for OOM bug in test.dart (applies to r29345). (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 7 years, 1 month 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: dart/sdk/lib/_internal/compiler/implementation/ssa/nodes.dart
diff --git a/dart/sdk/lib/_internal/compiler/implementation/ssa/nodes.dart b/dart/sdk/lib/_internal/compiler/implementation/ssa/nodes.dart
index c72124e7fe92f54b838695329bb3fc37f6b2b1ff..8447cb87ef86b7e8c715d5665386ec3c81d08098 100644
--- a/dart/sdk/lib/_internal/compiler/implementation/ssa/nodes.dart
+++ b/dart/sdk/lib/_internal/compiler/implementation/ssa/nodes.dart
@@ -67,6 +67,8 @@ abstract class HVisitor<R> {
R visitTry(HTry node);
R visitTypeConversion(HTypeConversion node);
R visitTypeKnown(HTypeKnown node);
+ R visitFunctionType(HFunctionType node);
+ R visitReadTypeVariable(HReadTypeVariable node);
}
abstract class HGraphVisitor {
@@ -346,6 +348,8 @@ class HBaseVisitor extends HGraphVisitor implements HVisitor {
visitIs(HIs node) => visitInstruction(node);
visitTypeConversion(HTypeConversion node) => visitCheck(node);
visitTypeKnown(HTypeKnown node) => visitCheck(node);
+ visitFunctionType(HFunctionType node) => visitInstruction(node);
+ visitReadTypeVariable(HReadTypeVariable node) => visitInstruction(node);
}
class SubGraph {
@@ -2717,8 +2721,6 @@ class HTryBlockInformation implements HStatementInformation {
visitor.visitTryInfo(this);
}
-
-
class HSwitchBlockInformation implements HStatementInformation {
final HExpressionInformation expression;
final List<List<Constant>> matchExpressions;
@@ -2742,3 +2744,32 @@ class HSwitchBlockInformation implements HStatementInformation {
bool accept(HStatementInformationVisitor visitor) =>
visitor.visitSwitchInfo(this);
}
+
+class HReadTypeVariable extends HInstruction {
+ /// The type variable being read.
+ final TypeVariableType dartType;
+
+ final bool hasReceiver;
+
+ HReadTypeVariable(this.dartType, HInstruction receiver)
+ : hasReceiver = true,
+ super(<HInstruction>[receiver]);
+
+ HReadTypeVariable.noReceiver(this.dartType, HInstruction typeArguments)
+ : hasReceiver = false,
+ super(<HInstruction>[typeArguments]);
+
+ accept(HVisitor visitor) => visitor.visitReadTypeVariable(this);
+}
+
+class HFunctionType extends HInstruction {
+ final FunctionType dartType;
+
+ HFunctionType(List<HInstruction> typeVariables, this.dartType)
+ : super(typeVariables) {
+ /* Element */ sourceElement = null;
+ /* SourceFileLocation */ sourcePosition = null;
+ }
+
+ accept(HVisitor visitor) => visitor.visitFunctionType(this);
+}
« no previous file with comments | « dart/sdk/lib/_internal/compiler/implementation/ssa/codegen.dart ('k') | dart/sdk/lib/_internal/lib/collection_dev_patch.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698