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_RAW_MACHINE_ASSEMBLER_H_ | 5 #ifndef V8_COMPILER_RAW_MACHINE_ASSEMBLER_H_ |
6 #define V8_COMPILER_RAW_MACHINE_ASSEMBLER_H_ | 6 #define V8_COMPILER_RAW_MACHINE_ASSEMBLER_H_ |
7 | 7 |
8 #ifdef USE_SIMULATOR | 8 #ifdef USE_SIMULATOR |
9 #define MACHINE_ASSEMBLER_SUPPORTS_CALL_C 0 | 9 #define MACHINE_ASSEMBLER_SUPPORTS_CALL_C 0 |
10 #else | 10 #else |
(...skipping 391 matching lines...) Loading... |
402 Node* CallJS0(Node* function, Node* receiver, Node* context, | 402 Node* CallJS0(Node* function, Node* receiver, Node* context, |
403 Node* frame_state); | 403 Node* frame_state); |
404 // Call to a runtime function with zero parameters. | 404 // Call to a runtime function with zero parameters. |
405 Node* CallRuntime1(Runtime::FunctionId function, Node* arg0, Node* context, | 405 Node* CallRuntime1(Runtime::FunctionId function, Node* arg0, Node* context, |
406 Node* frame_state); | 406 Node* frame_state); |
407 void Return(Node* value); | 407 void Return(Node* value); |
408 void Bind(Label* label); | 408 void Bind(Label* label); |
409 void Deoptimize(Node* state); | 409 void Deoptimize(Node* state); |
410 | 410 |
411 // Variables. | 411 // Variables. |
412 Node* Phi(Node* n1, Node* n2) { return NewNode(common()->Phi(2), n1, n2); } | 412 Node* Phi(MachineType type, Node* n1, Node* n2) { |
413 Node* Phi(Node* n1, Node* n2, Node* n3) { | 413 return NewNode(common()->Phi(type, 2), n1, n2); |
414 return NewNode(common()->Phi(3), n1, n2, n3); | |
415 } | 414 } |
416 Node* Phi(Node* n1, Node* n2, Node* n3, Node* n4) { | 415 Node* Phi(MachineType type, Node* n1, Node* n2, Node* n3) { |
417 return NewNode(common()->Phi(4), n1, n2, n3, n4); | 416 return NewNode(common()->Phi(type, 3), n1, n2, n3); |
| 417 } |
| 418 Node* Phi(MachineType type, Node* n1, Node* n2, Node* n3, Node* n4) { |
| 419 return NewNode(common()->Phi(type, 4), n1, n2, n3, n4); |
418 } | 420 } |
419 | 421 |
420 // MachineAssembler is invalid after export. | 422 // MachineAssembler is invalid after export. |
421 Schedule* Export(); | 423 Schedule* Export(); |
422 | 424 |
423 protected: | 425 protected: |
424 virtual Node* MakeNode(Operator* op, int input_count, Node** inputs); | 426 virtual Node* MakeNode(Operator* op, int input_count, Node** inputs); |
425 | 427 |
426 bool ScheduleValid() { return schedule_ != NULL; } | 428 bool ScheduleValid() { return schedule_ != NULL; } |
427 | 429 |
(...skipping 17 matching lines...) Loading... |
445 BasicBlock* current_block_; | 447 BasicBlock* current_block_; |
446 | 448 |
447 DISALLOW_COPY_AND_ASSIGN(RawMachineAssembler); | 449 DISALLOW_COPY_AND_ASSIGN(RawMachineAssembler); |
448 }; | 450 }; |
449 | 451 |
450 } // namespace compiler | 452 } // namespace compiler |
451 } // namespace internal | 453 } // namespace internal |
452 } // namespace v8 | 454 } // namespace v8 |
453 | 455 |
454 #endif // V8_COMPILER_RAW_MACHINE_ASSEMBLER_H_ | 456 #endif // V8_COMPILER_RAW_MACHINE_ASSEMBLER_H_ |
OLD | NEW |