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, int32_t* case_values, | 757 void Switch(Node* index, RawMachineLabel* default_label, |
758 RawMachineLabel** case_labels, size_t case_count); | 758 const int32_t* case_values, RawMachineLabel** case_labels, |
| 759 size_t case_count); |
759 void Return(Node* value); | 760 void Return(Node* value); |
760 void Return(Node* v1, Node* v2); | 761 void Return(Node* v1, Node* v2); |
761 void Return(Node* v1, Node* v2, Node* v3); | 762 void Return(Node* v1, Node* v2, Node* v3); |
762 void Bind(RawMachineLabel* label); | 763 void Bind(RawMachineLabel* label); |
763 void Deoptimize(Node* state); | 764 void Deoptimize(Node* state); |
764 void DebugBreak(); | 765 void DebugBreak(); |
765 void Comment(const char* msg); | 766 void Comment(const char* msg); |
766 | 767 |
767 // Variables. | 768 // Variables. |
768 Node* Phi(MachineRepresentation rep, Node* n1, Node* n2) { | 769 Node* Phi(MachineRepresentation rep, Node* n1, Node* n2) { |
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
831 bool deferred_; | 832 bool deferred_; |
832 friend class RawMachineAssembler; | 833 friend class RawMachineAssembler; |
833 DISALLOW_COPY_AND_ASSIGN(RawMachineLabel); | 834 DISALLOW_COPY_AND_ASSIGN(RawMachineLabel); |
834 }; | 835 }; |
835 | 836 |
836 } // namespace compiler | 837 } // namespace compiler |
837 } // namespace internal | 838 } // namespace internal |
838 } // namespace v8 | 839 } // namespace v8 |
839 | 840 |
840 #endif // V8_COMPILER_RAW_MACHINE_ASSEMBLER_H_ | 841 #endif // V8_COMPILER_RAW_MACHINE_ASSEMBLER_H_ |
OLD | NEW |