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

Unified Diff: sdk/lib/_internal/compiler/implementation/inferrer/type_graph_nodes.dart

Issue 110643006: Fix a bug in the container tracer, where the returned value of a closurized method was not traced c… (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 7 years 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: sdk/lib/_internal/compiler/implementation/inferrer/type_graph_nodes.dart
===================================================================
--- sdk/lib/_internal/compiler/implementation/inferrer/type_graph_nodes.dart (revision 31184)
+++ sdk/lib/_internal/compiler/implementation/inferrer/type_graph_nodes.dart (working copy)
@@ -210,6 +210,12 @@
final Element element;
/**
+ * If [element] is a function, [closurizedCount] is the number of
+ * times it is closurized. The value gets updated while infering.
+ */
+ int closurizedCount = 0;
+
+ /**
* This map contains the callers of [element]. It stores all unique call sites
* to enable counting the global number of call sites of [element].
*
@@ -256,6 +262,8 @@
return count == 1;
}
+ bool isClosurized() => closurizedCount > 0;
+
TypeMask handleSpecialCases(TypeGraphInferrerEngine inferrer) {
if (abandonInferencing) {
return type;

Powered by Google App Engine
This is Rietveld 408576698