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 24 matching lines...) Expand all Loading... |
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* AllocateInNewSpaceStubConstant(); | 42 Node* AllocateInNewSpaceStubConstant(); |
43 Node* AllocateInOldSpaceStubConstant(); | 43 Node* AllocateInOldSpaceStubConstant(); |
44 Node* ToNumberBuiltinConstant(); | 44 Node* ToNumberBuiltinConstant(); |
45 Node* CEntryStubConstant(int result_size); | 45 Node* CEntryStubConstant(int result_size, |
| 46 SaveFPRegsMode save_doubles = kDontSaveFPRegs, |
| 47 ArgvMode argv_mode = kArgvOnStack, |
| 48 bool builtin_exit_frame = false); |
46 Node* EmptyFixedArrayConstant(); | 49 Node* EmptyFixedArrayConstant(); |
47 Node* EmptyLiteralsArrayConstant(); | 50 Node* EmptyLiteralsArrayConstant(); |
48 Node* EmptyStringConstant(); | 51 Node* EmptyStringConstant(); |
49 Node* FixedArrayMapConstant(); | 52 Node* FixedArrayMapConstant(); |
50 Node* FixedDoubleArrayMapConstant(); | 53 Node* FixedDoubleArrayMapConstant(); |
51 Node* HeapNumberMapConstant(); | 54 Node* HeapNumberMapConstant(); |
52 Node* OptimizedOutConstant(); | 55 Node* OptimizedOutConstant(); |
53 Node* StaleRegisterConstant(); | 56 Node* StaleRegisterConstant(); |
54 Node* UndefinedConstant(); | 57 Node* UndefinedConstant(); |
55 Node* TheHoleConstant(); | 58 Node* TheHoleConstant(); |
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
148 Factory* factory() const { return isolate()->factory(); } | 151 Factory* factory() const { return isolate()->factory(); } |
149 | 152 |
150 void GetCachedNodes(NodeVector* nodes); | 153 void GetCachedNodes(NodeVector* nodes); |
151 | 154 |
152 private: | 155 private: |
153 enum CachedNode { | 156 enum CachedNode { |
154 kAllocateInNewSpaceStubConstant, | 157 kAllocateInNewSpaceStubConstant, |
155 kAllocateInOldSpaceStubConstant, | 158 kAllocateInOldSpaceStubConstant, |
156 kToNumberBuiltinConstant, | 159 kToNumberBuiltinConstant, |
157 kCEntryStubConstant, | 160 kCEntryStubConstant, |
| 161 kCEntryStubWithBuiltinExitFrameConstant, |
158 kEmptyFixedArrayConstant, | 162 kEmptyFixedArrayConstant, |
159 kEmptyLiteralsArrayConstant, | 163 kEmptyLiteralsArrayConstant, |
160 kEmptyStringConstant, | 164 kEmptyStringConstant, |
161 kFixedArrayMapConstant, | 165 kFixedArrayMapConstant, |
162 kFixedDoubleArrayMapConstant, | 166 kFixedDoubleArrayMapConstant, |
163 kHeapNumberMapConstant, | 167 kHeapNumberMapConstant, |
164 kOptimizedOutConstant, | 168 kOptimizedOutConstant, |
165 kStaleRegisterConstant, | 169 kStaleRegisterConstant, |
166 kUndefinedConstant, | 170 kUndefinedConstant, |
167 kTheHoleConstant, | 171 kTheHoleConstant, |
(...skipping 20 matching lines...) Expand all Loading... |
188 Node* NumberConstant(double value); | 192 Node* NumberConstant(double value); |
189 | 193 |
190 DISALLOW_COPY_AND_ASSIGN(JSGraph); | 194 DISALLOW_COPY_AND_ASSIGN(JSGraph); |
191 }; | 195 }; |
192 | 196 |
193 } // namespace compiler | 197 } // namespace compiler |
194 } // namespace internal | 198 } // namespace internal |
195 } // namespace v8 | 199 } // namespace v8 |
196 | 200 |
197 #endif | 201 #endif |
OLD | NEW |