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 127 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
138 // Initialize the call buffer with the InstructionOperands, nodes, etc, | 138 // Initialize the call buffer with the InstructionOperands, nodes, etc, |
139 // corresponding | 139 // corresponding |
140 // to the inputs and outputs of the call. | 140 // to the inputs and outputs of the call. |
141 // {call_code_immediate} to generate immediate operands to calls of code. | 141 // {call_code_immediate} to generate immediate operands to calls of code. |
142 // {call_address_immediate} to generate immediate operands to address calls. | 142 // {call_address_immediate} to generate immediate operands to address calls. |
143 void InitializeCallBuffer(Node* call, CallBuffer* buffer, | 143 void InitializeCallBuffer(Node* call, CallBuffer* buffer, |
144 bool call_code_immediate, | 144 bool call_code_immediate, |
145 bool call_address_immediate); | 145 bool call_address_immediate); |
146 | 146 |
147 FrameStateDescriptor* GetFrameStateDescriptor(Node* node); | 147 FrameStateDescriptor* GetFrameStateDescriptor(Node* node); |
| 148 void FillTypeVectorFromStateValues(ZoneVector<MachineType>* parameters, |
| 149 Node* state_values); |
148 void AddFrameStateInputs(Node* state, InstructionOperandVector* inputs, | 150 void AddFrameStateInputs(Node* state, InstructionOperandVector* inputs, |
149 FrameStateDescriptor* descriptor); | 151 FrameStateDescriptor* descriptor); |
| 152 MachineType GetMachineType(Node* node); |
150 | 153 |
151 // =========================================================================== | 154 // =========================================================================== |
152 // ============= Architecture-specific graph covering methods. =============== | 155 // ============= Architecture-specific graph covering methods. =============== |
153 // =========================================================================== | 156 // =========================================================================== |
154 | 157 |
155 // Visit nodes in the given block and generate code. | 158 // Visit nodes in the given block and generate code. |
156 void VisitBlock(BasicBlock* block); | 159 void VisitBlock(BasicBlock* block); |
157 | 160 |
158 // Visit the node for the control flow at the end of the block, generating | 161 // Visit the node for the control flow at the end of the block, generating |
159 // code if necessary. | 162 // code if necessary. |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
207 ZoneDeque<Instruction*> instructions_; | 210 ZoneDeque<Instruction*> instructions_; |
208 BoolVector defined_; | 211 BoolVector defined_; |
209 BoolVector used_; | 212 BoolVector used_; |
210 }; | 213 }; |
211 | 214 |
212 } // namespace compiler | 215 } // namespace compiler |
213 } // namespace internal | 216 } // namespace internal |
214 } // namespace v8 | 217 } // namespace v8 |
215 | 218 |
216 #endif // V8_COMPILER_INSTRUCTION_SELECTOR_H_ | 219 #endif // V8_COMPILER_INSTRUCTION_SELECTOR_H_ |
OLD | NEW |