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 199 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
210 // |var_type_feedback|. | 210 // |var_type_feedback|. |
211 compiler::Node* TruncateTaggedToWord32WithFeedback( | 211 compiler::Node* TruncateTaggedToWord32WithFeedback( |
212 compiler::Node* context, compiler::Node* value, | 212 compiler::Node* context, compiler::Node* value, |
213 Variable* var_type_feedback); | 213 Variable* var_type_feedback); |
214 | 214 |
215 // Abort with the given bailout reason. | 215 // Abort with the given bailout reason. |
216 void Abort(BailoutReason bailout_reason); | 216 void Abort(BailoutReason bailout_reason); |
217 void AbortIfWordNotEqual(compiler::Node* lhs, compiler::Node* rhs, | 217 void AbortIfWordNotEqual(compiler::Node* lhs, compiler::Node* rhs, |
218 BailoutReason bailout_reason); | 218 BailoutReason bailout_reason); |
219 | 219 |
| 220 // Dispatch to frame dropper trampoline if necessary. |
| 221 void MaybeDropFrames(compiler::Node* context); |
| 222 |
220 // Returns the offset from the BytecodeArrayPointer of the current bytecode. | 223 // Returns the offset from the BytecodeArrayPointer of the current bytecode. |
221 compiler::Node* BytecodeOffset(); | 224 compiler::Node* BytecodeOffset(); |
222 | 225 |
223 protected: | 226 protected: |
224 Bytecode bytecode() const { return bytecode_; } | 227 Bytecode bytecode() const { return bytecode_; } |
225 static bool TargetSupportsUnalignedAccess(); | 228 static bool TargetSupportsUnalignedAccess(); |
226 | 229 |
227 private: | 230 private: |
228 // Returns a tagged pointer to the current function's BytecodeArray object. | 231 // Returns a tagged pointer to the current function's BytecodeArray object. |
229 compiler::Node* BytecodeArrayTaggedPointer(); | 232 compiler::Node* BytecodeArrayTaggedPointer(); |
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
342 compiler::Node* stack_pointer_before_call_; | 345 compiler::Node* stack_pointer_before_call_; |
343 | 346 |
344 DISALLOW_COPY_AND_ASSIGN(InterpreterAssembler); | 347 DISALLOW_COPY_AND_ASSIGN(InterpreterAssembler); |
345 }; | 348 }; |
346 | 349 |
347 } // namespace interpreter | 350 } // namespace interpreter |
348 } // namespace internal | 351 } // namespace internal |
349 } // namespace v8 | 352 } // namespace v8 |
350 | 353 |
351 #endif // V8_INTERPRETER_INTERPRETER_ASSEMBLER_H_ | 354 #endif // V8_INTERPRETER_INTERPRETER_ASSEMBLER_H_ |
OLD | NEW |