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/v8.h" | 8 #include "src/v8.h" |
9 | 9 |
10 #include "src/compiler/common-operator.h" | 10 #include "src/compiler/common-operator.h" |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
66 | 66 |
67 // Parameters. | 67 // Parameters. |
68 Node* Parameter(int index); | 68 Node* Parameter(int index); |
69 | 69 |
70 // Control flow. | 70 // Control flow. |
71 Label* Exit(); | 71 Label* Exit(); |
72 void Goto(Label* label); | 72 void Goto(Label* label); |
73 void Branch(Node* condition, Label* true_val, Label* false_val); | 73 void Branch(Node* condition, Label* true_val, Label* false_val); |
74 // Call through CallFunctionStub with lazy deopt and frame-state. | 74 // Call through CallFunctionStub with lazy deopt and frame-state. |
75 Node* CallFunctionStub0(Node* function, Node* receiver, Node* context, | 75 Node* CallFunctionStub0(Node* function, Node* receiver, Node* context, |
76 Node* frame_state, Label* continuation, | 76 Node* frame_state, CallFunctionFlags flags); |
77 Label* deoptimization, CallFunctionFlags flags); | |
78 // Call to a JS function with zero parameters. | 77 // Call to a JS function with zero parameters. |
79 Node* CallJS0(Node* function, Node* receiver, Label* continuation, | 78 Node* CallJS0(Node* function, Node* receiver, Node* frame_state); |
80 Label* deoptimization); | |
81 // Call to a runtime function with zero parameters. | 79 // Call to a runtime function with zero parameters. |
82 Node* CallRuntime1(Runtime::FunctionId function, Node* arg0, | 80 Node* CallRuntime1(Runtime::FunctionId function, Node* arg0, |
83 Label* continuation, Label* deoptimization); | 81 Node* frame_state); |
84 void Return(Node* value); | 82 void Return(Node* value); |
85 void Bind(Label* label); | 83 void Bind(Label* label); |
86 void Deoptimize(Node* state); | 84 void Deoptimize(Node* state); |
87 | 85 |
88 // Variables. | 86 // Variables. |
89 Node* Phi(Node* n1, Node* n2) { return NewNode(common()->Phi(2), n1, n2); } | 87 Node* Phi(Node* n1, Node* n2) { return NewNode(common()->Phi(2), n1, n2); } |
90 Node* Phi(Node* n1, Node* n2, Node* n3) { | 88 Node* Phi(Node* n1, Node* n2, Node* n3) { |
91 return NewNode(common()->Phi(3), n1, n2, n3); | 89 return NewNode(common()->Phi(3), n1, n2, n3); |
92 } | 90 } |
93 Node* Phi(Node* n1, Node* n2, Node* n3, Node* n4) { | 91 Node* Phi(Node* n1, Node* n2, Node* n3, Node* n4) { |
(...skipping 27 matching lines...) Expand all Loading... |
121 BasicBlock* current_block_; | 119 BasicBlock* current_block_; |
122 | 120 |
123 DISALLOW_COPY_AND_ASSIGN(RawMachineAssembler); | 121 DISALLOW_COPY_AND_ASSIGN(RawMachineAssembler); |
124 }; | 122 }; |
125 | 123 |
126 } // namespace compiler | 124 } // namespace compiler |
127 } // namespace internal | 125 } // namespace internal |
128 } // namespace v8 | 126 } // namespace v8 |
129 | 127 |
130 #endif // V8_COMPILER_RAW_MACHINE_ASSEMBLER_H_ | 128 #endif // V8_COMPILER_RAW_MACHINE_ASSEMBLER_H_ |
OLD | NEW |