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_BYTECODES_H_ | 5 #ifndef V8_INTERPRETER_BYTECODES_H_ |
6 #define V8_INTERPRETER_BYTECODES_H_ | 6 #define V8_INTERPRETER_BYTECODES_H_ |
7 | 7 |
8 #include <iosfwd> | 8 #include <iosfwd> |
9 | 9 |
10 // Clients of this interface shouldn't depend on lots of interpreter internals. | 10 // Clients of this interface shouldn't depend on lots of interpreter internals. |
(...skipping 242 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
253 static int MaxParameterIndex(); | 253 static int MaxParameterIndex(); |
254 | 254 |
255 // Returns the register for the function's closure object. | 255 // Returns the register for the function's closure object. |
256 static Register function_closure(); | 256 static Register function_closure(); |
257 bool is_function_closure() const; | 257 bool is_function_closure() const; |
258 | 258 |
259 // Returns the register for the function's outer context. | 259 // Returns the register for the function's outer context. |
260 static Register function_context(); | 260 static Register function_context(); |
261 bool is_function_context() const; | 261 bool is_function_context() const; |
262 | 262 |
| 263 // Returns the register for the incoming new target value. |
| 264 static Register new_target(); |
| 265 bool is_new_target() const; |
| 266 |
263 static Register FromOperand(uint8_t operand); | 267 static Register FromOperand(uint8_t operand); |
264 uint8_t ToOperand() const; | 268 uint8_t ToOperand() const; |
265 | 269 |
266 static bool AreContiguous(Register reg1, Register reg2, | 270 static bool AreContiguous(Register reg1, Register reg2, |
267 Register reg3 = Register(), | 271 Register reg3 = Register(), |
268 Register reg4 = Register(), | 272 Register reg4 = Register(), |
269 Register reg5 = Register()); | 273 Register reg5 = Register()); |
270 | 274 |
271 bool operator==(const Register& other) const { | 275 bool operator==(const Register& other) const { |
272 return index() == other.index(); | 276 return index() == other.index(); |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
345 | 349 |
346 std::ostream& operator<<(std::ostream& os, const Bytecode& bytecode); | 350 std::ostream& operator<<(std::ostream& os, const Bytecode& bytecode); |
347 std::ostream& operator<<(std::ostream& os, const OperandType& operand_type); | 351 std::ostream& operator<<(std::ostream& os, const OperandType& operand_type); |
348 std::ostream& operator<<(std::ostream& os, const OperandSize& operand_type); | 352 std::ostream& operator<<(std::ostream& os, const OperandSize& operand_type); |
349 | 353 |
350 } // namespace interpreter | 354 } // namespace interpreter |
351 } // namespace internal | 355 } // namespace internal |
352 } // namespace v8 | 356 } // namespace v8 |
353 | 357 |
354 #endif // V8_INTERPRETER_BYTECODES_H_ | 358 #endif // V8_INTERPRETER_BYTECODES_H_ |
OLD | NEW |