| Index: test/unittests/compiler/interpreter-assembler-unittest.cc
|
| diff --git a/test/unittests/compiler/interpreter-assembler-unittest.cc b/test/unittests/compiler/interpreter-assembler-unittest.cc
|
| index 48aa8f1ec4258b93b49a81e50f08f2215da3f76e..de6e513ae7a33027159595c4003c56c7477d7d7c 100644
|
| --- a/test/unittests/compiler/interpreter-assembler-unittest.cc
|
| +++ b/test/unittests/compiler/interpreter-assembler-unittest.cc
|
| @@ -87,20 +87,20 @@ Matcher<Node*> InterpreterAssemblerTest::InterpreterAssemblerForTest::IsCall(
|
|
|
| Matcher<Node*>
|
| InterpreterAssemblerTest::InterpreterAssemblerForTest::IsBytecodeOperand(
|
| - int operand) {
|
| + int offset) {
|
| return IsLoad(
|
| kMachUint8, IsParameter(Linkage::kInterpreterBytecodeArrayParameter),
|
| IsIntPtrAdd(IsParameter(Linkage::kInterpreterBytecodeOffsetParameter),
|
| - IsInt32Constant(1 + operand)));
|
| + IsInt32Constant(offset)));
|
| }
|
|
|
|
|
| Matcher<Node*> InterpreterAssemblerTest::InterpreterAssemblerForTest::
|
| - IsBytecodeOperandSignExtended(int operand) {
|
| + IsBytecodeOperandSignExtended(int offset) {
|
| Matcher<Node*> load_matcher = IsLoad(
|
| kMachInt8, IsParameter(Linkage::kInterpreterBytecodeArrayParameter),
|
| IsIntPtrAdd(IsParameter(Linkage::kInterpreterBytecodeOffsetParameter),
|
| - IsInt32Constant(1 + operand)));
|
| + IsInt32Constant(offset)));
|
| if (kPointerSize == 8) {
|
| load_matcher = IsChangeInt32ToInt64(load_matcher);
|
| }
|
| @@ -108,6 +108,16 @@ Matcher<Node*> InterpreterAssemblerTest::InterpreterAssemblerForTest::
|
| }
|
|
|
|
|
| +Matcher<Node*>
|
| +InterpreterAssemblerTest::InterpreterAssemblerForTest::IsBytecodeOperandWide(
|
| + int offset) {
|
| + return IsLoad(
|
| + kMachUint16, IsParameter(Linkage::kInterpreterBytecodeArrayParameter),
|
| + IsIntPtrAdd(IsParameter(Linkage::kInterpreterBytecodeOffsetParameter),
|
| + IsInt32Constant(offset)));
|
| +}
|
| +
|
| +
|
| Graph*
|
| InterpreterAssemblerTest::InterpreterAssemblerForTest::GetCompletedGraph() {
|
| End();
|
| @@ -268,20 +278,25 @@ TARGET_TEST_F(InterpreterAssemblerTest, BytecodeOperand) {
|
| InterpreterAssemblerForTest m(this, bytecode);
|
| int number_of_operands = interpreter::Bytecodes::NumberOfOperands(bytecode);
|
| for (int i = 0; i < number_of_operands; i++) {
|
| + int offset = interpreter::Bytecodes::GetOperandOffset(bytecode, i);
|
| switch (interpreter::Bytecodes::GetOperandType(bytecode, i)) {
|
| case interpreter::OperandType::kCount:
|
| - EXPECT_THAT(m.BytecodeOperandCount(i), m.IsBytecodeOperand(i));
|
| + EXPECT_THAT(m.BytecodeOperandCount(i), m.IsBytecodeOperand(offset));
|
| break;
|
| case interpreter::OperandType::kIdx:
|
| - EXPECT_THAT(m.BytecodeOperandIdx(i), m.IsBytecodeOperand(i));
|
| + EXPECT_THAT(m.BytecodeOperandIdx(i), m.IsBytecodeOperand(offset));
|
| break;
|
| case interpreter::OperandType::kImm8:
|
| EXPECT_THAT(m.BytecodeOperandImm8(i),
|
| - m.IsBytecodeOperandSignExtended(i));
|
| + m.IsBytecodeOperandSignExtended(offset));
|
| break;
|
| case interpreter::OperandType::kReg:
|
| EXPECT_THAT(m.BytecodeOperandReg(i),
|
| - m.IsBytecodeOperandSignExtended(i));
|
| + m.IsBytecodeOperandSignExtended(offset));
|
| + break;
|
| + case interpreter::OperandType::kWideIdx:
|
| + EXPECT_THAT(m.BytecodeOperandWideIdx(i),
|
| + m.IsBytecodeOperandWide(offset));
|
| break;
|
| case interpreter::OperandType::kNone:
|
| UNREACHABLE();
|
|
|