OLD | NEW |
1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef V8_COMPILER_ESCAPE_ANALYSIS_H_ | 5 #ifndef V8_COMPILER_ESCAPE_ANALYSIS_H_ |
6 #define V8_COMPILER_ESCAPE_ANALYSIS_H_ | 6 #define V8_COMPILER_ESCAPE_ANALYSIS_H_ |
7 | 7 |
8 #include "src/base/flags.h" | 8 #include "src/base/flags.h" |
9 #include "src/compiler/graph.h" | 9 #include "src/compiler/graph.h" |
10 | 10 |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
50 void ProcessStoreField(Node* node); | 50 void ProcessStoreField(Node* node); |
51 void ProcessStoreElement(Node* node); | 51 void ProcessStoreElement(Node* node); |
52 bool CheckUsesForEscape(Node* node, bool phi_escaping = false) { | 52 bool CheckUsesForEscape(Node* node, bool phi_escaping = false) { |
53 return CheckUsesForEscape(node, node, phi_escaping); | 53 return CheckUsesForEscape(node, node, phi_escaping); |
54 } | 54 } |
55 bool CheckUsesForEscape(Node* node, Node* rep, bool phi_escaping = false); | 55 bool CheckUsesForEscape(Node* node, Node* rep, bool phi_escaping = false); |
56 void RevisitUses(Node* node); | 56 void RevisitUses(Node* node); |
57 void RevisitInputs(Node* node); | 57 void RevisitInputs(Node* node); |
58 bool SetEscaped(Node* node); | 58 bool SetEscaped(Node* node); |
59 bool HasEntry(Node* node); | 59 bool HasEntry(Node* node); |
| 60 void Resize(); |
| 61 size_t size(); |
60 | 62 |
61 Graph* graph() const { return graph_; } | 63 Graph* graph() const { return graph_; } |
62 Zone* zone() const { return zone_; } | 64 Zone* zone() const { return zone_; } |
63 | 65 |
64 EscapeAnalysis* object_analysis_; | 66 EscapeAnalysis* object_analysis_; |
65 Graph* const graph_; | 67 Graph* const graph_; |
66 Zone* const zone_; | 68 Zone* const zone_; |
67 ZoneVector<EscapeStatusFlags> info_; | 69 ZoneVector<EscapeStatusFlags> info_; |
68 ZoneDeque<Node*> queue_; | 70 ZoneDeque<Node*> queue_; |
69 | 71 |
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
162 MergeCache cache_; | 164 MergeCache cache_; |
163 | 165 |
164 DISALLOW_COPY_AND_ASSIGN(EscapeAnalysis); | 166 DISALLOW_COPY_AND_ASSIGN(EscapeAnalysis); |
165 }; | 167 }; |
166 | 168 |
167 } // namespace compiler | 169 } // namespace compiler |
168 } // namespace internal | 170 } // namespace internal |
169 } // namespace v8 | 171 } // namespace v8 |
170 | 172 |
171 #endif // V8_COMPILER_ESCAPE_ANALYSIS_H_ | 173 #endif // V8_COMPILER_ESCAPE_ANALYSIS_H_ |
OLD | NEW |