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 #include "src/assembler.h" | 8 #include "src/assembler.h" |
9 #include "src/compiler/common-operator.h" | 9 #include "src/compiler/common-operator.h" |
10 #include "src/compiler/graph.h" | 10 #include "src/compiler/graph.h" |
(...skipping 756 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
767 // Control flow. | 767 // Control flow. |
768 void Goto(RawMachineLabel* label); | 768 void Goto(RawMachineLabel* label); |
769 void Branch(Node* condition, RawMachineLabel* true_val, | 769 void Branch(Node* condition, RawMachineLabel* true_val, |
770 RawMachineLabel* false_val); | 770 RawMachineLabel* false_val); |
771 void Switch(Node* index, RawMachineLabel* default_label, | 771 void Switch(Node* index, RawMachineLabel* default_label, |
772 const int32_t* case_values, RawMachineLabel** case_labels, | 772 const int32_t* case_values, RawMachineLabel** case_labels, |
773 size_t case_count); | 773 size_t case_count); |
774 void Return(Node* value); | 774 void Return(Node* value); |
775 void Return(Node* v1, Node* v2); | 775 void Return(Node* v1, Node* v2); |
776 void Return(Node* v1, Node* v2, Node* v3); | 776 void Return(Node* v1, Node* v2, Node* v3); |
| 777 void PopAndReturn(Node* pop, Node* value); |
| 778 void PopAndReturn(Node* pop, Node* v1, Node* v2); |
| 779 void PopAndReturn(Node* pop, Node* v1, Node* v2, Node* v3); |
777 void Bind(RawMachineLabel* label); | 780 void Bind(RawMachineLabel* label); |
778 void Deoptimize(Node* state); | 781 void Deoptimize(Node* state); |
779 void DebugBreak(); | 782 void DebugBreak(); |
780 void Comment(const char* msg); | 783 void Comment(const char* msg); |
781 | 784 |
782 // Add success / exception successor blocks and ends the current block ending | 785 // Add success / exception successor blocks and ends the current block ending |
783 // in a potentially throwing call node. | 786 // in a potentially throwing call node. |
784 void Continuations(Node* call, RawMachineLabel* if_success, | 787 void Continuations(Node* call, RawMachineLabel* if_success, |
785 RawMachineLabel* if_exception); | 788 RawMachineLabel* if_exception); |
786 | 789 |
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
850 bool deferred_; | 853 bool deferred_; |
851 friend class RawMachineAssembler; | 854 friend class RawMachineAssembler; |
852 DISALLOW_COPY_AND_ASSIGN(RawMachineLabel); | 855 DISALLOW_COPY_AND_ASSIGN(RawMachineLabel); |
853 }; | 856 }; |
854 | 857 |
855 } // namespace compiler | 858 } // namespace compiler |
856 } // namespace internal | 859 } // namespace internal |
857 } // namespace v8 | 860 } // namespace v8 |
858 | 861 |
859 #endif // V8_COMPILER_RAW_MACHINE_ASSEMBLER_H_ | 862 #endif // V8_COMPILER_RAW_MACHINE_ASSEMBLER_H_ |
OLD | NEW |