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(); |