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_INTERPRETER_INTERPRETER_ASSEMBLER_H_ | 5 #ifndef V8_INTERPRETER_INTERPRETER_ASSEMBLER_H_ |
6 #define V8_INTERPRETER_INTERPRETER_ASSEMBLER_H_ | 6 #define V8_INTERPRETER_INTERPRETER_ASSEMBLER_H_ |
7 | 7 |
8 #include "src/allocation.h" | 8 #include "src/allocation.h" |
9 #include "src/builtins/builtins.h" | 9 #include "src/builtins/builtins.h" |
10 #include "src/code-stub-assembler.h" | 10 #include "src/code-stub-assembler.h" |
(...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
186 // |var_type_feedback|. | 186 // |var_type_feedback|. |
187 compiler::Node* TruncateTaggedToWord32WithFeedback( | 187 compiler::Node* TruncateTaggedToWord32WithFeedback( |
188 compiler::Node* context, compiler::Node* value, | 188 compiler::Node* context, compiler::Node* value, |
189 Variable* var_type_feedback); | 189 Variable* var_type_feedback); |
190 | 190 |
191 // Abort with the given bailout reason. | 191 // Abort with the given bailout reason. |
192 void Abort(BailoutReason bailout_reason); | 192 void Abort(BailoutReason bailout_reason); |
193 void AbortIfWordNotEqual(compiler::Node* lhs, compiler::Node* rhs, | 193 void AbortIfWordNotEqual(compiler::Node* lhs, compiler::Node* rhs, |
194 BailoutReason bailout_reason); | 194 BailoutReason bailout_reason); |
195 | 195 |
| 196 // Dispatch to frame dropper trampoline if necessary. |
| 197 void MaybeDropFrames(compiler::Node* context); |
| 198 |
196 // Returns the offset from the BytecodeArrayPointer of the current bytecode. | 199 // Returns the offset from the BytecodeArrayPointer of the current bytecode. |
197 compiler::Node* BytecodeOffset(); | 200 compiler::Node* BytecodeOffset(); |
198 | 201 |
199 protected: | 202 protected: |
200 Bytecode bytecode() const { return bytecode_; } | 203 Bytecode bytecode() const { return bytecode_; } |
201 static bool TargetSupportsUnalignedAccess(); | 204 static bool TargetSupportsUnalignedAccess(); |
202 | 205 |
203 private: | 206 private: |
204 // Returns a tagged pointer to the current function's BytecodeArray object. | 207 // Returns a tagged pointer to the current function's BytecodeArray object. |
205 compiler::Node* BytecodeArrayTaggedPointer(); | 208 compiler::Node* BytecodeArrayTaggedPointer(); |
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
312 compiler::Node* stack_pointer_before_call_; | 315 compiler::Node* stack_pointer_before_call_; |
313 | 316 |
314 DISALLOW_COPY_AND_ASSIGN(InterpreterAssembler); | 317 DISALLOW_COPY_AND_ASSIGN(InterpreterAssembler); |
315 }; | 318 }; |
316 | 319 |
317 } // namespace interpreter | 320 } // namespace interpreter |
318 } // namespace internal | 321 } // namespace internal |
319 } // namespace v8 | 322 } // namespace v8 |
320 | 323 |
321 #endif // V8_INTERPRETER_INTERPRETER_ASSEMBLER_H_ | 324 #endif // V8_INTERPRETER_INTERPRETER_ASSEMBLER_H_ |
OLD | NEW |