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 255 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
266 void VisitGoto(BasicBlock* target); | 266 void VisitGoto(BasicBlock* target); |
267 void VisitBranch(Node* input, BasicBlock* tbranch, BasicBlock* fbranch); | 267 void VisitBranch(Node* input, BasicBlock* tbranch, BasicBlock* fbranch); |
268 void VisitSwitch(Node* node, const SwitchInfo& sw); | 268 void VisitSwitch(Node* node, const SwitchInfo& sw); |
269 void VisitDeoptimize(DeoptimizeKind kind, Node* value); | 269 void VisitDeoptimize(DeoptimizeKind kind, Node* value); |
270 void VisitReturn(Node* ret); | 270 void VisitReturn(Node* ret); |
271 void VisitThrow(Node* value); | 271 void VisitThrow(Node* value); |
272 | 272 |
273 void EmitPrepareArguments(ZoneVector<compiler::PushParameter>* arguments, | 273 void EmitPrepareArguments(ZoneVector<compiler::PushParameter>* arguments, |
274 const CallDescriptor* descriptor, Node* node); | 274 const CallDescriptor* descriptor, Node* node); |
275 | 275 |
| 276 void EmitIdentity(Node* node); |
| 277 bool CanProduceSignalingNaN(Node* node); |
| 278 |
276 // =========================================================================== | 279 // =========================================================================== |
277 | 280 |
278 Schedule* schedule() const { return schedule_; } | 281 Schedule* schedule() const { return schedule_; } |
279 Linkage* linkage() const { return linkage_; } | 282 Linkage* linkage() const { return linkage_; } |
280 InstructionSequence* sequence() const { return sequence_; } | 283 InstructionSequence* sequence() const { return sequence_; } |
281 Zone* instruction_zone() const { return sequence()->zone(); } | 284 Zone* instruction_zone() const { return sequence()->zone(); } |
282 Zone* zone() const { return zone_; } | 285 Zone* zone() const { return zone_; } |
283 | 286 |
284 // =========================================================================== | 287 // =========================================================================== |
285 | 288 |
(...skipping 12 matching lines...) Expand all Loading... |
298 IntVector virtual_registers_; | 301 IntVector virtual_registers_; |
299 InstructionScheduler* scheduler_; | 302 InstructionScheduler* scheduler_; |
300 Frame* frame_; | 303 Frame* frame_; |
301 }; | 304 }; |
302 | 305 |
303 } // namespace compiler | 306 } // namespace compiler |
304 } // namespace internal | 307 } // namespace internal |
305 } // namespace v8 | 308 } // namespace v8 |
306 | 309 |
307 #endif // V8_COMPILER_INSTRUCTION_SELECTOR_H_ | 310 #endif // V8_COMPILER_INSTRUCTION_SELECTOR_H_ |
OLD | NEW |