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/base/smart-pointers.h" | 9 #include "src/base/smart-pointers.h" |
10 #include "src/builtins/builtins.h" | 10 #include "src/builtins/builtins.h" |
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
139 // word values |lhs| and |rhs| are not equal. | 139 // word values |lhs| and |rhs| are not equal. |
140 void JumpIfWordNotEqual(compiler::Node* lhs, compiler::Node* rhs, | 140 void JumpIfWordNotEqual(compiler::Node* lhs, compiler::Node* rhs, |
141 compiler::Node* jump_offset); | 141 compiler::Node* jump_offset); |
142 | 142 |
143 // Returns true if the stack guard check triggers an interrupt. | 143 // Returns true if the stack guard check triggers an interrupt. |
144 compiler::Node* StackCheckTriggeredInterrupt(); | 144 compiler::Node* StackCheckTriggeredInterrupt(); |
145 | 145 |
146 // Updates the profiler interrupt budget for a return. | 146 // Updates the profiler interrupt budget for a return. |
147 void UpdateInterruptBudgetOnReturn(); | 147 void UpdateInterruptBudgetOnReturn(); |
148 | 148 |
| 149 // Returns the OSR nesting level from the bytecode header. |
| 150 compiler::Node* LoadOSRNestingLevel(); |
| 151 |
149 // Dispatch to the bytecode. | 152 // Dispatch to the bytecode. |
150 compiler::Node* Dispatch(); | 153 compiler::Node* Dispatch(); |
151 | 154 |
152 // Dispatch to bytecode handler. | 155 // Dispatch to bytecode handler. |
153 compiler::Node* DispatchToBytecodeHandler(compiler::Node* handler) { | 156 compiler::Node* DispatchToBytecodeHandler(compiler::Node* handler) { |
154 return DispatchToBytecodeHandler(handler, BytecodeOffset()); | 157 return DispatchToBytecodeHandler(handler, BytecodeOffset()); |
155 } | 158 } |
156 | 159 |
157 // Dispatch bytecode as wide operand variant. | 160 // Dispatch bytecode as wide operand variant. |
158 void DispatchWide(OperandScale operand_scale); | 161 void DispatchWide(OperandScale operand_scale); |
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
278 compiler::Node* stack_pointer_before_call_; | 281 compiler::Node* stack_pointer_before_call_; |
279 | 282 |
280 DISALLOW_COPY_AND_ASSIGN(InterpreterAssembler); | 283 DISALLOW_COPY_AND_ASSIGN(InterpreterAssembler); |
281 }; | 284 }; |
282 | 285 |
283 } // namespace interpreter | 286 } // namespace interpreter |
284 } // namespace internal | 287 } // namespace internal |
285 } // namespace v8 | 288 } // namespace v8 |
286 | 289 |
287 #endif // V8_INTERPRETER_INTERPRETER_ASSEMBLER_H_ | 290 #endif // V8_INTERPRETER_INTERPRETER_ASSEMBLER_H_ |
OLD | NEW |