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

Unified Diff: src/compiler/escape-analysis.h

Issue 1631333002: [turbofan] Fix iteration order (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Reactivate test Created 4 years, 11 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 | src/compiler/escape-analysis.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/compiler/escape-analysis.h
diff --git a/src/compiler/escape-analysis.h b/src/compiler/escape-analysis.h
index 93b06627b17e5330fffde8213c3def64b380d50f..bba5d98543f94b8545fe9d68fb33fed4c7b09d6e 100644
--- a/src/compiler/escape-analysis.h
+++ b/src/compiler/escape-analysis.h
@@ -18,7 +18,6 @@ class EscapeAnalysis;
class VirtualState;
class VirtualObject;
-
// EscapeStatusAnalysis determines for each allocation whether it escapes.
class EscapeStatusAnalysis {
public:
@@ -39,14 +38,19 @@ class EscapeStatusAnalysis {
// effect successors.
kBranchPointComputed = 1u << 6,
kBranchPoint = 1u << 7,
+ kInQueue = 1u << 8
};
- typedef base::Flags<Status, unsigned char> StatusFlags;
+ typedef base::Flags<Status, uint16_t> StatusFlags;
void RunStatusAnalysis();
bool IsVirtual(Node* node);
bool IsEscaped(Node* node);
bool IsAllocation(Node* node);
+
+ bool IsInQueue(NodeId id);
+ void SetInQueue(NodeId id, bool on_stack);
+
void DebugPrint();
EscapeStatusAnalysis(EscapeAnalysis* object_analysis, Graph* graph,
@@ -102,14 +106,11 @@ class EscapeStatusAnalysis {
DISALLOW_COPY_AND_ASSIGN(EscapeStatusAnalysis);
};
-
DEFINE_OPERATORS_FOR_FLAGS(EscapeStatusAnalysis::StatusFlags)
-
// Forward Declaration.
class MergeCache;
-
// EscapeObjectAnalysis simulates stores to determine values of loads if
// an object is virtual and eliminated.
class EscapeAnalysis {
« no previous file with comments | « no previous file | src/compiler/escape-analysis.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698