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 <map> | 8 #include <map> |
9 | 9 |
10 #include "src/compiler/common-operator.h" | 10 #include "src/compiler/common-operator.h" |
(...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
209 void VisitConstant(Node* node); | 209 void VisitConstant(Node* node); |
210 void VisitCall(Node* call, BasicBlock* handler = nullptr); | 210 void VisitCall(Node* call, BasicBlock* handler = nullptr); |
211 void VisitTailCall(Node* call); | 211 void VisitTailCall(Node* call); |
212 void VisitGoto(BasicBlock* target); | 212 void VisitGoto(BasicBlock* target); |
213 void VisitBranch(Node* input, BasicBlock* tbranch, BasicBlock* fbranch); | 213 void VisitBranch(Node* input, BasicBlock* tbranch, BasicBlock* fbranch); |
214 void VisitSwitch(Node* node, const SwitchInfo& sw); | 214 void VisitSwitch(Node* node, const SwitchInfo& sw); |
215 void VisitDeoptimize(Node* value); | 215 void VisitDeoptimize(Node* value); |
216 void VisitReturn(Node* ret); | 216 void VisitReturn(Node* ret); |
217 void VisitThrow(Node* value); | 217 void VisitThrow(Node* value); |
218 | 218 |
| 219 void EmitPrepareArguments(NodeVector* arguments, |
| 220 const CallDescriptor* descriptor, Node* node); |
| 221 |
219 // =========================================================================== | 222 // =========================================================================== |
220 | 223 |
221 Schedule* schedule() const { return schedule_; } | 224 Schedule* schedule() const { return schedule_; } |
222 Linkage* linkage() const { return linkage_; } | 225 Linkage* linkage() const { return linkage_; } |
223 InstructionSequence* sequence() const { return sequence_; } | 226 InstructionSequence* sequence() const { return sequence_; } |
224 Zone* instruction_zone() const { return sequence()->zone(); } | 227 Zone* instruction_zone() const { return sequence()->zone(); } |
225 Zone* zone() const { return zone_; } | 228 Zone* zone() const { return zone_; } |
226 | 229 |
227 // =========================================================================== | 230 // =========================================================================== |
228 | 231 |
229 Zone* const zone_; | 232 Zone* const zone_; |
230 Linkage* const linkage_; | 233 Linkage* const linkage_; |
231 InstructionSequence* const sequence_; | 234 InstructionSequence* const sequence_; |
232 SourcePositionTable* const source_positions_; | 235 SourcePositionTable* const source_positions_; |
233 SourcePositionMode const source_position_mode_; | 236 SourcePositionMode const source_position_mode_; |
234 Features features_; | 237 Features features_; |
235 Schedule* const schedule_; | 238 Schedule* const schedule_; |
236 BasicBlock* current_block_; | 239 BasicBlock* current_block_; |
237 ZoneVector<Instruction*> instructions_; | 240 ZoneVector<Instruction*> instructions_; |
238 BoolVector defined_; | 241 BoolVector defined_; |
239 BoolVector used_; | 242 BoolVector used_; |
240 IntVector virtual_registers_; | 243 IntVector virtual_registers_; |
241 }; | 244 }; |
242 | 245 |
243 } // namespace compiler | 246 } // namespace compiler |
244 } // namespace internal | 247 } // namespace internal |
245 } // namespace v8 | 248 } // namespace v8 |
246 | 249 |
247 #endif // V8_COMPILER_INSTRUCTION_SELECTOR_H_ | 250 #endif // V8_COMPILER_INSTRUCTION_SELECTOR_H_ |
OLD | NEW |