| Index: src/interpreter/bytecode-array-builder.h
|
| diff --git a/src/interpreter/bytecode-array-builder.h b/src/interpreter/bytecode-array-builder.h
|
| index d6c22a7a07663be89fc252edab4ce3ca386a0f97..f01cbfd924f15fc7ca837df4279b79e34b2c78ca 100644
|
| --- a/src/interpreter/bytecode-array-builder.h
|
| +++ b/src/interpreter/bytecode-array-builder.h
|
| @@ -75,6 +75,12 @@ class BytecodeArrayBuilder {
|
| BytecodeArrayBuilder& Call(Register callable, Register receiver,
|
| size_t arg_count);
|
|
|
| + // Call the runtime function with |function_id|. The first argument should be
|
| + // in |first_arg| and all subsequent arguments should be in registers \
|
| + // <first_arg + 1> to <first_arg + 1 + arg_count>.
|
| + BytecodeArrayBuilder& CallRuntime(Runtime::FunctionId function_id,
|
| + Register first_arg, size_t arg_count);
|
| +
|
| // Operators (register == lhs, accumulator = rhs).
|
| BytecodeArrayBuilder& BinaryOperation(Token::Value binop, Register reg);
|
|
|
| @@ -107,9 +113,12 @@ class BytecodeArrayBuilder {
|
|
|
| static Bytecode BytecodeForBinaryOperation(Token::Value op);
|
| static Bytecode BytecodeForCompareOperation(Token::Value op);
|
| - static bool FitsInIdxOperand(int value);
|
| - static bool FitsInIdxOperand(size_t value);
|
| +
|
| + static bool FitsInIdx8Operand(int value);
|
| + static bool FitsInIdx8Operand(size_t value);
|
| static bool FitsInImm8Operand(int value);
|
| + static bool FitsInIdx16Operand(int value);
|
| +
|
| static Bytecode GetJumpWithConstantOperand(Bytecode jump_with_smi8_operand);
|
|
|
| template <size_t N>
|
| @@ -119,6 +128,7 @@ class BytecodeArrayBuilder {
|
| void Output(Bytecode bytecode, uint32_t operand0, uint32_t operand1);
|
| void Output(Bytecode bytecode, uint32_t operand0);
|
| void Output(Bytecode bytecode);
|
| +
|
| BytecodeArrayBuilder& OutputJump(Bytecode jump_bytecode,
|
| BytecodeLabel* label);
|
| void PatchJump(const ZoneVector<uint8_t>::iterator& jump_target,
|
|
|