OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 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_JS_GRAPH_H_ | 5 #ifndef V8_COMPILER_JS_GRAPH_H_ |
6 #define V8_COMPILER_JS_GRAPH_H_ | 6 #define V8_COMPILER_JS_GRAPH_H_ |
7 | 7 |
8 #include "src/compiler/common-node-cache.h" | 8 #include "src/compiler/common-node-cache.h" |
9 #include "src/compiler/common-operator.h" | 9 #include "src/compiler/common-operator.h" |
10 #include "src/compiler/graph.h" | 10 #include "src/compiler/graph.h" |
(...skipping 22 matching lines...) Expand all Loading... |
33 common_(common), | 33 common_(common), |
34 javascript_(javascript), | 34 javascript_(javascript), |
35 simplified_(simplified), | 35 simplified_(simplified), |
36 machine_(machine), | 36 machine_(machine), |
37 cache_(zone()) { | 37 cache_(zone()) { |
38 for (int i = 0; i < kNumCachedNodes; i++) cached_nodes_[i] = nullptr; | 38 for (int i = 0; i < kNumCachedNodes; i++) cached_nodes_[i] = nullptr; |
39 } | 39 } |
40 | 40 |
41 // Canonicalized global constants. | 41 // Canonicalized global constants. |
42 Node* CEntryStubConstant(int result_size); | 42 Node* CEntryStubConstant(int result_size); |
| 43 Node* EmptyFixedArrayConstant(); |
43 Node* UndefinedConstant(); | 44 Node* UndefinedConstant(); |
44 Node* TheHoleConstant(); | 45 Node* TheHoleConstant(); |
45 Node* TrueConstant(); | 46 Node* TrueConstant(); |
46 Node* FalseConstant(); | 47 Node* FalseConstant(); |
47 Node* NullConstant(); | 48 Node* NullConstant(); |
48 Node* ZeroConstant(); | 49 Node* ZeroConstant(); |
49 Node* OneConstant(); | 50 Node* OneConstant(); |
50 Node* NaNConstant(); | 51 Node* NaNConstant(); |
51 | 52 |
52 // Creates a HeapConstant node, possibly canonicalized, and may access the | 53 // Creates a HeapConstant node, possibly canonicalized, and may access the |
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
127 Graph* graph() const { return graph_; } | 128 Graph* graph() const { return graph_; } |
128 Zone* zone() const { return graph()->zone(); } | 129 Zone* zone() const { return graph()->zone(); } |
129 Isolate* isolate() const { return isolate_; } | 130 Isolate* isolate() const { return isolate_; } |
130 Factory* factory() const { return isolate()->factory(); } | 131 Factory* factory() const { return isolate()->factory(); } |
131 | 132 |
132 void GetCachedNodes(NodeVector* nodes); | 133 void GetCachedNodes(NodeVector* nodes); |
133 | 134 |
134 private: | 135 private: |
135 enum CachedNode { | 136 enum CachedNode { |
136 kCEntryStubConstant, | 137 kCEntryStubConstant, |
| 138 kEmptyFixedArrayConstant, |
137 kUndefinedConstant, | 139 kUndefinedConstant, |
138 kTheHoleConstant, | 140 kTheHoleConstant, |
139 kTrueConstant, | 141 kTrueConstant, |
140 kFalseConstant, | 142 kFalseConstant, |
141 kNullConstant, | 143 kNullConstant, |
142 kZeroConstant, | 144 kZeroConstant, |
143 kOneConstant, | 145 kOneConstant, |
144 kNaNConstant, | 146 kNaNConstant, |
145 kEmptyFrameState, | 147 kEmptyFrameState, |
146 kDead, | 148 kDead, |
(...skipping 13 matching lines...) Expand all Loading... |
160 Node* NumberConstant(double value); | 162 Node* NumberConstant(double value); |
161 | 163 |
162 DISALLOW_COPY_AND_ASSIGN(JSGraph); | 164 DISALLOW_COPY_AND_ASSIGN(JSGraph); |
163 }; | 165 }; |
164 | 166 |
165 } // namespace compiler | 167 } // namespace compiler |
166 } // namespace internal | 168 } // namespace internal |
167 } // namespace v8 | 169 } // namespace v8 |
168 | 170 |
169 #endif | 171 #endif |
OLD | NEW |