| Index: src/compiler/escape-analysis.h
|
| diff --git a/src/compiler/escape-analysis.h b/src/compiler/escape-analysis.h
|
| index ce372b598ade5262a80e328f6d184b94ba6dc029..f10a8f02689bf95b50309092817baea2c4c17e1f 100644
|
| --- a/src/compiler/escape-analysis.h
|
| +++ b/src/compiler/escape-analysis.h
|
| @@ -16,6 +16,7 @@ namespace compiler {
|
| class CommonOperatorBuilder;
|
| class EscapeAnalysis;
|
| class VirtualState;
|
| +class VirtualObject;
|
|
|
|
|
| // EscapeStatusAnalysis determines for each allocation whether it escapes.
|
| @@ -81,6 +82,8 @@ class EscapeAnalysis {
|
| Node* GetReplacement(Node* at, NodeId id);
|
| bool IsVirtual(Node* node);
|
| bool IsEscaped(Node* node);
|
| + Node* GetOrCreateObjectState(Node* effect, Node* node);
|
| + Node* GetEffect(Node* node);
|
|
|
| private:
|
| void RunObjectAnalysis();
|
| @@ -97,6 +100,10 @@ class EscapeAnalysis {
|
| bool IsDanglingEffectNode(Node* node);
|
| int OffsetFromAccess(Node* node);
|
|
|
| + VirtualObject* GetVirtualObject(Node* at, NodeId id);
|
| +
|
| + void RecordEffectForFrameStateUses(Node* node, Node* effect);
|
| +
|
| void DebugPrint();
|
|
|
| Graph* graph() const { return graph_; }
|
| @@ -108,6 +115,7 @@ class EscapeAnalysis {
|
| Zone* const zone_;
|
| ZoneVector<VirtualState*> virtual_states_;
|
| EscapeStatusAnalysis escape_status_;
|
| + ZoneVector<Node*> effects_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(EscapeAnalysis);
|
| };
|
|
|