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 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
128 Node* CallIC(CallInterfaceDescriptor descriptor, Node* target, Node* arg1, | 128 Node* CallIC(CallInterfaceDescriptor descriptor, Node* target, Node* arg1, |
129 Node* arg2, Node* arg3); | 129 Node* arg2, Node* arg3); |
130 Node* CallIC(CallInterfaceDescriptor descriptor, Node* target, Node* arg1, | 130 Node* CallIC(CallInterfaceDescriptor descriptor, Node* target, Node* arg1, |
131 Node* arg2, Node* arg3, Node* arg4); | 131 Node* arg2, Node* arg3, Node* arg4); |
132 Node* CallIC(CallInterfaceDescriptor descriptor, Node* target, Node* arg1, | 132 Node* CallIC(CallInterfaceDescriptor descriptor, Node* target, Node* arg1, |
133 Node* arg2, Node* arg3, Node* arg4, Node* arg5); | 133 Node* arg2, Node* arg3, Node* arg4, Node* arg5); |
134 | 134 |
135 // Call runtime function. | 135 // Call runtime function. |
136 Node* CallRuntime(Node* function_id, Node* first_arg, Node* arg_count, | 136 Node* CallRuntime(Node* function_id, Node* first_arg, Node* arg_count, |
137 int return_size = 1); | 137 int return_size = 1); |
| 138 Node* CallRuntime(Runtime::FunctionId function_id); |
138 Node* CallRuntime(Runtime::FunctionId function_id, Node* arg1); | 139 Node* CallRuntime(Runtime::FunctionId function_id, Node* arg1); |
139 Node* CallRuntime(Runtime::FunctionId function_id, Node* arg1, Node* arg2); | 140 Node* CallRuntime(Runtime::FunctionId function_id, Node* arg1, Node* arg2); |
140 Node* CallRuntime(Runtime::FunctionId function_id, Node* arg1, Node* arg2, | 141 Node* CallRuntime(Runtime::FunctionId function_id, Node* arg1, Node* arg2, |
141 Node* arg3); | 142 Node* arg3); |
142 Node* CallRuntime(Runtime::FunctionId function_id, Node* arg1, Node* arg2, | 143 Node* CallRuntime(Runtime::FunctionId function_id, Node* arg1, Node* arg2, |
143 Node* arg3, Node* arg4); | 144 Node* arg3, Node* arg4); |
144 | 145 |
145 // Jump relative to the current bytecode by |jump_offset|. | 146 // Jump relative to the current bytecode by |jump_offset|. |
146 void Jump(Node* jump_offset); | 147 void Jump(Node* jump_offset); |
147 | 148 |
148 // Jump relative to the current bytecode by |jump_offset| if the | 149 // Jump relative to the current bytecode by |jump_offset| if the |
149 // word values |lhs| and |rhs| are equal. | 150 // word values |lhs| and |rhs| are equal. |
150 void JumpIfWordEqual(Node* lhs, Node* rhs, Node* jump_offset); | 151 void JumpIfWordEqual(Node* lhs, Node* rhs, Node* jump_offset); |
151 | 152 |
| 153 // Perform a stack guard check. |
| 154 void StackCheck(); |
| 155 |
152 // Returns from the function. | 156 // Returns from the function. |
153 void Return(); | 157 void Return(); |
154 | 158 |
155 // Dispatch to the bytecode. | 159 // Dispatch to the bytecode. |
156 void Dispatch(); | 160 void Dispatch(); |
157 | 161 |
158 // Abort with the given bailout reason. | 162 // Abort with the given bailout reason. |
159 void Abort(BailoutReason bailout_reason); | 163 void Abort(BailoutReason bailout_reason); |
160 | 164 |
161 protected: | 165 protected: |
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
218 bool code_generated_; | 222 bool code_generated_; |
219 | 223 |
220 DISALLOW_COPY_AND_ASSIGN(InterpreterAssembler); | 224 DISALLOW_COPY_AND_ASSIGN(InterpreterAssembler); |
221 }; | 225 }; |
222 | 226 |
223 } // namespace compiler | 227 } // namespace compiler |
224 } // namespace internal | 228 } // namespace internal |
225 } // namespace v8 | 229 } // namespace v8 |
226 | 230 |
227 #endif // V8_COMPILER_INTERPRETER_ASSEMBLER_H_ | 231 #endif // V8_COMPILER_INTERPRETER_ASSEMBLER_H_ |
OLD | NEW |