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_INSTRUCTION_SELECTOR_H_ | 5 #ifndef V8_COMPILER_INSTRUCTION_SELECTOR_H_ |
6 #define V8_COMPILER_INSTRUCTION_SELECTOR_H_ | 6 #define V8_COMPILER_INSTRUCTION_SELECTOR_H_ |
7 | 7 |
8 #include <deque> | 8 #include <deque> |
9 | 9 |
10 #include "src/compiler/common-operator.h" | 10 #include "src/compiler/common-operator.h" |
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
135 // Initialize the call buffer with the InstructionOperands, nodes, etc, | 135 // Initialize the call buffer with the InstructionOperands, nodes, etc, |
136 // corresponding | 136 // corresponding |
137 // to the inputs and outputs of the call. | 137 // to the inputs and outputs of the call. |
138 // {call_code_immediate} to generate immediate operands to calls of code. | 138 // {call_code_immediate} to generate immediate operands to calls of code. |
139 // {call_address_immediate} to generate immediate operands to address calls. | 139 // {call_address_immediate} to generate immediate operands to address calls. |
140 void InitializeCallBuffer(Node* call, CallBuffer* buffer, | 140 void InitializeCallBuffer(Node* call, CallBuffer* buffer, |
141 bool call_code_immediate, | 141 bool call_code_immediate, |
142 bool call_address_immediate, BasicBlock* cont_node, | 142 bool call_address_immediate, BasicBlock* cont_node, |
143 BasicBlock* deopt_node); | 143 BasicBlock* deopt_node); |
144 | 144 |
| 145 FrameStateDescriptor* GetFrameStateDescriptor(Node* node); |
| 146 void AddFrameStateInputs(Node* state, |
| 147 std::vector<InstructionOperand*>* inputs, |
| 148 FrameStateDescriptor* descriptor); |
| 149 |
145 // =========================================================================== | 150 // =========================================================================== |
146 // ============= Architecture-specific graph covering methods. =============== | 151 // ============= Architecture-specific graph covering methods. =============== |
147 // =========================================================================== | 152 // =========================================================================== |
148 | 153 |
149 // Visit nodes in the given block and generate code. | 154 // Visit nodes in the given block and generate code. |
150 void VisitBlock(BasicBlock* block); | 155 void VisitBlock(BasicBlock* block); |
151 | 156 |
152 // Visit the node for the control flow at the end of the block, generating | 157 // Visit the node for the control flow at the end of the block, generating |
153 // code if necessary. | 158 // code if necessary. |
154 void VisitControl(BasicBlock* block); | 159 void VisitControl(BasicBlock* block); |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
204 Instructions instructions_; | 209 Instructions instructions_; |
205 BoolVector defined_; | 210 BoolVector defined_; |
206 BoolVector used_; | 211 BoolVector used_; |
207 }; | 212 }; |
208 | 213 |
209 } // namespace compiler | 214 } // namespace compiler |
210 } // namespace internal | 215 } // namespace internal |
211 } // namespace v8 | 216 } // namespace v8 |
212 | 217 |
213 #endif // V8_COMPILER_INSTRUCTION_SELECTOR_H_ | 218 #endif // V8_COMPILER_INSTRUCTION_SELECTOR_H_ |
OLD | NEW |