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); | |
780 void Bind(RawMachineLabel* label); | 777 void Bind(RawMachineLabel* label); |
781 void Deoptimize(Node* state); | 778 void Deoptimize(Node* state); |
782 void DebugBreak(); | 779 void DebugBreak(); |
783 void Comment(const char* msg); | 780 void Comment(const char* msg); |
784 | 781 |
785 // Add success / exception successor blocks and ends the current block ending | 782 // Add success / exception successor blocks and ends the current block ending |
786 // in a potentially throwing call node. | 783 // in a potentially throwing call node. |
787 void Continuations(Node* call, RawMachineLabel* if_success, | 784 void Continuations(Node* call, RawMachineLabel* if_success, |
788 RawMachineLabel* if_exception); | 785 RawMachineLabel* if_exception); |
789 | 786 |
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
853 bool deferred_; | 850 bool deferred_; |
854 friend class RawMachineAssembler; | 851 friend class RawMachineAssembler; |
855 DISALLOW_COPY_AND_ASSIGN(RawMachineLabel); | 852 DISALLOW_COPY_AND_ASSIGN(RawMachineLabel); |
856 }; | 853 }; |
857 | 854 |
858 } // namespace compiler | 855 } // namespace compiler |
859 } // namespace internal | 856 } // namespace internal |
860 } // namespace v8 | 857 } // namespace v8 |
861 | 858 |
862 #endif // V8_COMPILER_RAW_MACHINE_ASSEMBLER_H_ | 859 #endif // V8_COMPILER_RAW_MACHINE_ASSEMBLER_H_ |
OLD | NEW |