OLD | NEW |
1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 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_INTERPRETER_ASSEMBLER_H_ | 5 #ifndef V8_COMPILER_INTERPRETER_ASSEMBLER_H_ |
6 #define V8_COMPILER_INTERPRETER_ASSEMBLER_H_ | 6 #define V8_COMPILER_INTERPRETER_ASSEMBLER_H_ |
7 | 7 |
8 // Clients of this interface shouldn't depend on lots of compiler internals. | 8 // Clients of this interface shouldn't depend on lots of compiler internals. |
9 // Do not include anything from src/compiler here! | 9 // Do not include anything from src/compiler here! |
10 #include "src/allocation.h" | 10 #include "src/allocation.h" |
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
129 Node* CallIC(CallInterfaceDescriptor descriptor, Node* target, Node* arg1, | 129 Node* CallIC(CallInterfaceDescriptor descriptor, Node* target, Node* arg1, |
130 Node* arg2, Node* arg3); | 130 Node* arg2, Node* arg3); |
131 Node* CallIC(CallInterfaceDescriptor descriptor, Node* target, Node* arg1, | 131 Node* CallIC(CallInterfaceDescriptor descriptor, Node* target, Node* arg1, |
132 Node* arg2, Node* arg3, Node* arg4); | 132 Node* arg2, Node* arg3, Node* arg4); |
133 Node* CallIC(CallInterfaceDescriptor descriptor, Node* target, Node* arg1, | 133 Node* CallIC(CallInterfaceDescriptor descriptor, Node* target, Node* arg1, |
134 Node* arg2, Node* arg3, Node* arg4, Node* arg5); | 134 Node* arg2, Node* arg3, Node* arg4, Node* arg5); |
135 | 135 |
136 // Call runtime function. | 136 // Call runtime function. |
137 Node* CallRuntime(Node* function_id, Node* first_arg, Node* arg_count, | 137 Node* CallRuntime(Node* function_id, Node* first_arg, Node* arg_count, |
138 int return_size = 1); | 138 int return_size = 1); |
| 139 Node* CallRuntime(Runtime::FunctionId function_id); |
139 Node* CallRuntime(Runtime::FunctionId function_id, Node* arg1); | 140 Node* CallRuntime(Runtime::FunctionId function_id, Node* arg1); |
140 Node* CallRuntime(Runtime::FunctionId function_id, Node* arg1, Node* arg2); | 141 Node* CallRuntime(Runtime::FunctionId function_id, Node* arg1, Node* arg2); |
141 Node* CallRuntime(Runtime::FunctionId function_id, Node* arg1, Node* arg2, | 142 Node* CallRuntime(Runtime::FunctionId function_id, Node* arg1, Node* arg2, |
142 Node* arg3); | 143 Node* arg3); |
143 Node* CallRuntime(Runtime::FunctionId function_id, Node* arg1, Node* arg2, | 144 Node* CallRuntime(Runtime::FunctionId function_id, Node* arg1, Node* arg2, |
144 Node* arg3, Node* arg4); | 145 Node* arg3, Node* arg4); |
145 | 146 |
146 // Jump relative to the current bytecode by |jump_offset|. | 147 // Jump relative to the current bytecode by |jump_offset|. |
147 void Jump(Node* jump_offset); | 148 void Jump(Node* jump_offset); |
148 | 149 |
149 // Jump relative to the current bytecode by |jump_offset| if the | 150 // Jump relative to the current bytecode by |jump_offset| if the |
150 // word values |lhs| and |rhs| are equal. | 151 // word values |lhs| and |rhs| are equal. |
151 void JumpIfWordEqual(Node* lhs, Node* rhs, Node* jump_offset); | 152 void JumpIfWordEqual(Node* lhs, Node* rhs, Node* jump_offset); |
152 | 153 |
| 154 // Perform a stack guard check. |
| 155 void StackCheck(); |
| 156 |
153 // Returns from the function. | 157 // Returns from the function. |
154 void Return(); | 158 void Return(); |
155 | 159 |
156 // Dispatch to the bytecode. | 160 // Dispatch to the bytecode. |
157 void Dispatch(); | 161 void Dispatch(); |
158 | 162 |
159 // Abort with the given bailout reason. | 163 // Abort with the given bailout reason. |
160 void Abort(BailoutReason bailout_reason); | 164 void Abort(BailoutReason bailout_reason); |
161 | 165 |
162 protected: | 166 protected: |
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
219 bool code_generated_; | 223 bool code_generated_; |
220 | 224 |
221 DISALLOW_COPY_AND_ASSIGN(InterpreterAssembler); | 225 DISALLOW_COPY_AND_ASSIGN(InterpreterAssembler); |
222 }; | 226 }; |
223 | 227 |
224 } // namespace compiler | 228 } // namespace compiler |
225 } // namespace internal | 229 } // namespace internal |
226 } // namespace v8 | 230 } // namespace v8 |
227 | 231 |
228 #endif // V8_COMPILER_INTERPRETER_ASSEMBLER_H_ | 232 #endif // V8_COMPILER_INTERPRETER_ASSEMBLER_H_ |
OLD | NEW |