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 187 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
198 void VisitOsrValue(Node* node); | 198 void VisitOsrValue(Node* node); |
199 void VisitPhi(Node* node); | 199 void VisitPhi(Node* node); |
200 void VisitProjection(Node* node); | 200 void VisitProjection(Node* node); |
201 void VisitConstant(Node* node); | 201 void VisitConstant(Node* node); |
202 void VisitCall(Node* call, BasicBlock* handler); | 202 void VisitCall(Node* call, BasicBlock* handler); |
203 void VisitGoto(BasicBlock* target); | 203 void VisitGoto(BasicBlock* target); |
204 void VisitBranch(Node* input, BasicBlock* tbranch, BasicBlock* fbranch); | 204 void VisitBranch(Node* input, BasicBlock* tbranch, BasicBlock* fbranch); |
205 void VisitSwitch(Node* node, BasicBlock* default_branch, | 205 void VisitSwitch(Node* node, BasicBlock* default_branch, |
206 BasicBlock** case_branches, int32_t* case_values, | 206 BasicBlock** case_branches, int32_t* case_values, |
207 size_t case_count, int32_t min_value, int32_t max_value); | 207 size_t case_count, int32_t min_value, int32_t max_value); |
| 208 void VisitDeoptimize(Node* value); |
208 void VisitReturn(Node* value); | 209 void VisitReturn(Node* value); |
209 void VisitThrow(Node* value); | 210 void VisitThrow(Node* value); |
210 void VisitDeoptimize(Node* deopt); | |
211 | 211 |
212 // =========================================================================== | 212 // =========================================================================== |
213 | 213 |
214 Schedule* schedule() const { return schedule_; } | 214 Schedule* schedule() const { return schedule_; } |
215 Linkage* linkage() const { return linkage_; } | 215 Linkage* linkage() const { return linkage_; } |
216 InstructionSequence* sequence() const { return sequence_; } | 216 InstructionSequence* sequence() const { return sequence_; } |
217 Zone* instruction_zone() const { return sequence()->zone(); } | 217 Zone* instruction_zone() const { return sequence()->zone(); } |
218 Zone* zone() const { return zone_; } | 218 Zone* zone() const { return zone_; } |
219 | 219 |
220 // =========================================================================== | 220 // =========================================================================== |
221 | 221 |
222 Zone* const zone_; | 222 Zone* const zone_; |
223 Linkage* const linkage_; | 223 Linkage* const linkage_; |
224 InstructionSequence* const sequence_; | 224 InstructionSequence* const sequence_; |
225 SourcePositionTable* const source_positions_; | 225 SourcePositionTable* const source_positions_; |
226 Features features_; | 226 Features features_; |
227 Schedule* const schedule_; | 227 Schedule* const schedule_; |
228 BasicBlock* current_block_; | 228 BasicBlock* current_block_; |
229 ZoneVector<Instruction*> instructions_; | 229 ZoneVector<Instruction*> instructions_; |
230 BoolVector defined_; | 230 BoolVector defined_; |
231 BoolVector used_; | 231 BoolVector used_; |
232 IntVector virtual_registers_; | 232 IntVector virtual_registers_; |
233 }; | 233 }; |
234 | 234 |
235 } // namespace compiler | 235 } // namespace compiler |
236 } // namespace internal | 236 } // namespace internal |
237 } // namespace v8 | 237 } // namespace v8 |
238 | 238 |
239 #endif // V8_COMPILER_INSTRUCTION_SELECTOR_H_ | 239 #endif // V8_COMPILER_INSTRUCTION_SELECTOR_H_ |
OLD | NEW |