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 130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
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* CallRuntime(Runtime::FunctionId function_id, Node* arg1, Node* arg2, |
143 Node* arg3); | 143 Node* arg3); |
144 Node* CallRuntime(Runtime::FunctionId function_id, Node* arg1, Node* arg2, | 144 Node* CallRuntime(Runtime::FunctionId function_id, Node* arg1, Node* arg2, |
145 Node* arg3, Node* arg4); | 145 Node* arg3, Node* arg4); |
146 | 146 |
147 // Jump relative to the current bytecode by |jump_offset|. | 147 // Jump relative to the current bytecode by |jump_offset|. |
148 void Jump(Node* jump_offset); | 148 void Jump(Node* jump_offset); |
149 | 149 |
150 // Jump relative to the current bytecode by |jump_offset| if the | 150 // Jump relative to the current bytecode by |jump_offset| if the |
151 // |condition| is true. Helper function for JumpIfWordEqual and | |
152 // JumpIfWordNotEqual. | |
153 void JumpConditional(Node* condition, Node* jump_offset); | |
154 | |
155 // Jump relative to the current bytecode by |jump_offset| if the | |
151 // word values |lhs| and |rhs| are equal. | 156 // word values |lhs| and |rhs| are equal. |
152 void JumpIfWordEqual(Node* lhs, Node* rhs, Node* jump_offset); | 157 void JumpIfWordEqual(Node* lhs, Node* rhs, Node* jump_offset); |
153 | 158 |
154 // Perform a stack guard check. | 159 // Perform a stack guard check. |
155 void StackCheck(); | 160 void StackCheck(); |
156 | 161 |
162 // Jump relative to the current bytecode by |jump_offset| if the | |
163 // word values |lhs| and |rhs| are not equal. | |
164 void JumpIfWordNotEqual(Node* lhs, Node* rhs, Node* jump_offset); | |
Michael Starzinger
2016/02/08 11:54:08
nit: Lets move this up one function to before the
mythria
2016/02/08 13:22:33
Done.
| |
165 | |
157 // Returns from the function. | 166 // Returns from the function. |
158 void Return(); | 167 void Return(); |
159 | 168 |
160 // Dispatch to the bytecode. | 169 // Dispatch to the bytecode. |
161 void Dispatch(); | 170 void Dispatch(); |
162 | 171 |
163 // Abort with the given bailout reason. | 172 // Abort with the given bailout reason. |
164 void Abort(BailoutReason bailout_reason); | 173 void Abort(BailoutReason bailout_reason); |
165 | 174 |
166 protected: | 175 protected: |
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
223 bool code_generated_; | 232 bool code_generated_; |
224 | 233 |
225 DISALLOW_COPY_AND_ASSIGN(InterpreterAssembler); | 234 DISALLOW_COPY_AND_ASSIGN(InterpreterAssembler); |
226 }; | 235 }; |
227 | 236 |
228 } // namespace compiler | 237 } // namespace compiler |
229 } // namespace internal | 238 } // namespace internal |
230 } // namespace v8 | 239 } // namespace v8 |
231 | 240 |
232 #endif // V8_COMPILER_INTERPRETER_ASSEMBLER_H_ | 241 #endif // V8_COMPILER_INTERPRETER_ASSEMBLER_H_ |
OLD | NEW |