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 736 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
747 Node* arg3, Node* arg4, Node* arg5, Node* context); | 747 Node* arg3, Node* arg4, Node* arg5, Node* context); |
748 | 748 |
749 // =========================================================================== | 749 // =========================================================================== |
750 // The following utility methods deal with control flow, hence might switch | 750 // The following utility methods deal with control flow, hence might switch |
751 // the current basic block or create new basic blocks for labels. | 751 // the current basic block or create new basic blocks for labels. |
752 | 752 |
753 // Control flow. | 753 // Control flow. |
754 void Goto(RawMachineLabel* label); | 754 void Goto(RawMachineLabel* label); |
755 void Branch(Node* condition, RawMachineLabel* true_val, | 755 void Branch(Node* condition, RawMachineLabel* true_val, |
756 RawMachineLabel* false_val); | 756 RawMachineLabel* false_val); |
757 void Switch(Node* index, RawMachineLabel* default_label, | 757 void Switch(Node* index, RawMachineLabel* default_label, int32_t* case_values, |
758 const int32_t* case_values, RawMachineLabel** case_labels, | 758 RawMachineLabel** case_labels, size_t case_count); |
759 size_t case_count); | |
760 void Return(Node* value); | 759 void Return(Node* value); |
761 void Return(Node* v1, Node* v2); | 760 void Return(Node* v1, Node* v2); |
762 void Return(Node* v1, Node* v2, Node* v3); | 761 void Return(Node* v1, Node* v2, Node* v3); |
763 void Bind(RawMachineLabel* label); | 762 void Bind(RawMachineLabel* label); |
764 void Deoptimize(Node* state); | 763 void Deoptimize(Node* state); |
765 void DebugBreak(); | 764 void DebugBreak(); |
766 void Comment(const char* msg); | 765 void Comment(const char* msg); |
767 | 766 |
768 // Variables. | 767 // Variables. |
769 Node* Phi(MachineRepresentation rep, Node* n1, Node* n2) { | 768 Node* Phi(MachineRepresentation rep, Node* n1, Node* n2) { |
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
832 bool deferred_; | 831 bool deferred_; |
833 friend class RawMachineAssembler; | 832 friend class RawMachineAssembler; |
834 DISALLOW_COPY_AND_ASSIGN(RawMachineLabel); | 833 DISALLOW_COPY_AND_ASSIGN(RawMachineLabel); |
835 }; | 834 }; |
836 | 835 |
837 } // namespace compiler | 836 } // namespace compiler |
838 } // namespace internal | 837 } // namespace internal |
839 } // namespace v8 | 838 } // namespace v8 |
840 | 839 |
841 #endif // V8_COMPILER_RAW_MACHINE_ASSEMBLER_H_ | 840 #endif // V8_COMPILER_RAW_MACHINE_ASSEMBLER_H_ |
OLD | NEW |