| Index: src/interpreter/interpreter-assembler.h
|
| diff --git a/src/interpreter/interpreter-assembler.h b/src/interpreter/interpreter-assembler.h
|
| index ebf449164b1e1c99b810f21cb834a9155a3ba61a..7e12ac9fd64bff990790927683a731c9834f2741 100644
|
| --- a/src/interpreter/interpreter-assembler.h
|
| +++ b/src/interpreter/interpreter-assembler.h
|
| @@ -24,28 +24,37 @@ class V8_EXPORT_PRIVATE InterpreterAssembler : public CodeStubAssembler {
|
| OperandScale operand_scale);
|
| virtual ~InterpreterAssembler();
|
|
|
| - // Returns the count immediate for bytecode operand |operand_index| in the
|
| - // current bytecode.
|
| + // Returns the 32-bit unsigned count immediate for bytecode operand
|
| + // |operand_index| in the current bytecode.
|
| compiler::Node* BytecodeOperandCount(int operand_index);
|
| - // Returns the 8-bit flag for bytecode operand |operand_index| in the
|
| - // current bytecode.
|
| + // Returns the 32-bit unsigned flag for bytecode operand |operand_index|
|
| + // in the current bytecode.
|
| compiler::Node* BytecodeOperandFlag(int operand_index);
|
| - // Returns the index immediate for bytecode operand |operand_index| in the
|
| - // current bytecode.
|
| + // Returns the 32-bit zero-extended index immediate for bytecode operand
|
| + // |operand_index| in the current bytecode.
|
| compiler::Node* BytecodeOperandIdx(int operand_index);
|
| - // Returns the UImm8 immediate for bytecode operand |operand_index| in the
|
| - // current bytecode.
|
| + // Returns the smi index immediate for bytecode operand |operand_index|
|
| + // in the current bytecode.
|
| + compiler::Node* BytecodeOperandIdxSmi(int operand_index);
|
| + // Returns the 32-bit unsigned immediate for bytecode operand |operand_index|
|
| + // in the current bytecode.
|
| compiler::Node* BytecodeOperandUImm(int operand_index);
|
| - // Returns the Imm8 immediate for bytecode operand |operand_index| in the
|
| - // current bytecode.
|
| + // Returns the 32-bit signed immediate for bytecode operand |operand_index|
|
| + // in the current bytecode.
|
| compiler::Node* BytecodeOperandImm(int operand_index);
|
| - // Returns the register index for bytecode operand |operand_index| in the
|
| + // Returns the word-size signed immediate for bytecode operand |operand_index|
|
| + // in the current bytecode.
|
| + compiler::Node* BytecodeOperandImmIntPtr(int operand_index);
|
| + // Returns the smi immediate for bytecode operand |operand_index| in the
|
| // current bytecode.
|
| + compiler::Node* BytecodeOperandImmSmi(int operand_index);
|
| + // Returns the word-size sign-extended register index for bytecode operand
|
| + // |operand_index| in the current bytecode.
|
| compiler::Node* BytecodeOperandReg(int operand_index);
|
| - // Returns the runtime id immediate for bytecode operand
|
| + // Returns the 32-bit unsigned runtime id immediate for bytecode operand
|
| // |operand_index| in the current bytecode.
|
| compiler::Node* BytecodeOperandRuntimeId(int operand_index);
|
| - // Returns the intrinsic id immediate for bytecode operand
|
| + // Returns the 32-bit unsigned intrinsic id immediate for bytecode operand
|
| // |operand_index| in the current bytecode.
|
| compiler::Node* BytecodeOperandIntrinsicId(int operand_index);
|
|
|
| @@ -218,8 +227,8 @@ class V8_EXPORT_PRIVATE InterpreterAssembler : public CodeStubAssembler {
|
| // Traces the current bytecode by calling |function_id|.
|
| void TraceBytecode(Runtime::FunctionId function_id);
|
|
|
| - // Updates the bytecode array's interrupt budget by |weight| and calls
|
| - // Runtime::kInterrupt if counter reaches zero.
|
| + // Updates the bytecode array's interrupt budget by a 32-bit signed |weight|
|
| + // and calls Runtime::kInterrupt if counter reaches zero.
|
| void UpdateInterruptBudget(compiler::Node* weight);
|
|
|
| // Returns the offset of register |index| relative to RegisterFilePointer().
|
| @@ -236,6 +245,7 @@ class V8_EXPORT_PRIVATE InterpreterAssembler : public CodeStubAssembler {
|
| compiler::Node* BytecodeOperandReadUnaligned(int relative_offset,
|
| MachineType result_type);
|
|
|
| + // Returns zero- or sign-extended to word32 value of the operand.
|
| compiler::Node* BytecodeOperandUnsignedByte(int operand_index);
|
| compiler::Node* BytecodeOperandSignedByte(int operand_index);
|
| compiler::Node* BytecodeOperandUnsignedShort(int operand_index);
|
| @@ -243,6 +253,8 @@ class V8_EXPORT_PRIVATE InterpreterAssembler : public CodeStubAssembler {
|
| compiler::Node* BytecodeOperandUnsignedQuad(int operand_index);
|
| compiler::Node* BytecodeOperandSignedQuad(int operand_index);
|
|
|
| + // Returns zero- or sign-extended to word32 value of the operand of
|
| + // given size.
|
| compiler::Node* BytecodeSignedOperand(int operand_index,
|
| OperandSize operand_size);
|
| compiler::Node* BytecodeUnsignedOperand(int operand_index,
|
|
|