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 128 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
139 Node* CallRuntime(Runtime::FunctionId function_id, Node* arg1, Node* arg2); | 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* arg3); | 141 Node* arg3); |
142 Node* CallRuntime(Runtime::FunctionId function_id, Node* arg1, Node* arg2, | 142 Node* CallRuntime(Runtime::FunctionId function_id, Node* arg1, Node* arg2, |
143 Node* arg3, Node* arg4); | 143 Node* arg3, Node* arg4); |
144 | 144 |
145 // Jump relative to the current bytecode by |jump_offset|. | 145 // Jump relative to the current bytecode by |jump_offset|. |
146 void Jump(Node* jump_offset); | 146 void Jump(Node* jump_offset); |
147 | 147 |
148 // Jump relative to the current bytecode by |jump_offset| if the | 148 // Jump relative to the current bytecode by |jump_offset| if the |
| 149 // |condition| is true. Helper function for JumpIfWordEqual and |
| 150 // JumpIfWordNotEqual. |
| 151 void JumpConditional(Node* condition, Node* jump_offset); |
| 152 |
| 153 // Jump relative to the current bytecode by |jump_offset| if the |
149 // word values |lhs| and |rhs| are equal. | 154 // word values |lhs| and |rhs| are equal. |
150 void JumpIfWordEqual(Node* lhs, Node* rhs, Node* jump_offset); | 155 void JumpIfWordEqual(Node* lhs, Node* rhs, Node* jump_offset); |
151 | 156 |
| 157 // Jump relative to the current bytecode by |jump_offset| if the |
| 158 // word values |lhs| and |rhs| are not equal. |
| 159 void JumpIfWordNotEqual(Node* lhs, Node* rhs, Node* jump_offset); |
| 160 |
152 // Returns from the function. | 161 // Returns from the function. |
153 void Return(); | 162 void Return(); |
154 | 163 |
155 // Dispatch to the bytecode. | 164 // Dispatch to the bytecode. |
156 void Dispatch(); | 165 void Dispatch(); |
157 | 166 |
158 // Abort with the given bailout reason. | 167 // Abort with the given bailout reason. |
159 void Abort(BailoutReason bailout_reason); | 168 void Abort(BailoutReason bailout_reason); |
160 | 169 |
161 protected: | 170 protected: |
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
218 bool code_generated_; | 227 bool code_generated_; |
219 | 228 |
220 DISALLOW_COPY_AND_ASSIGN(InterpreterAssembler); | 229 DISALLOW_COPY_AND_ASSIGN(InterpreterAssembler); |
221 }; | 230 }; |
222 | 231 |
223 } // namespace compiler | 232 } // namespace compiler |
224 } // namespace internal | 233 } // namespace internal |
225 } // namespace v8 | 234 } // namespace v8 |
226 | 235 |
227 #endif // V8_COMPILER_INTERPRETER_ASSEMBLER_H_ | 236 #endif // V8_COMPILER_INTERPRETER_ASSEMBLER_H_ |
OLD | NEW |