Index: test/unittests/interpreter/bytecode-array-iterator-unittest.cc |
diff --git a/test/unittests/interpreter/bytecode-array-iterator-unittest.cc b/test/unittests/interpreter/bytecode-array-iterator-unittest.cc |
index 43c6caa8cf4720d6937ac97055af0b3955ed804f..aa9effe36c9c8282396f065e8c9653a0ba762155 100644 |
--- a/test/unittests/interpreter/bytecode-array-iterator-unittest.cc |
+++ b/test/unittests/interpreter/bytecode-array-iterator-unittest.cc |
@@ -37,11 +37,17 @@ TEST_F(BytecodeArrayIteratorTest, IteratesBytecodeArray) { |
int feedback_slot = 97; |
builder.LoadLiteral(heap_num_0) |
+ .StoreAccumulatorInRegister(reg_0) |
.LoadLiteral(heap_num_1) |
+ .StoreAccumulatorInRegister(reg_0) |
.LoadLiteral(zero) |
+ .StoreAccumulatorInRegister(reg_0) |
.LoadLiteral(smi_0) |
+ .StoreAccumulatorInRegister(reg_0) |
.LoadLiteral(smi_1) |
+ .StoreAccumulatorInRegister(reg_1) |
.LoadAccumulatorWithRegister(reg_0) |
+ .StoreAccumulatorInRegister(reg_1) |
.LoadNamedProperty(reg_1, name, feedback_slot) |
.StoreAccumulatorInRegister(param) |
.CallRuntimeForPair(Runtime::kLoadLookupSlotForCall, param, 1, reg_0) |
@@ -64,6 +70,15 @@ TEST_F(BytecodeArrayIteratorTest, IteratesBytecodeArray) { |
offset += Bytecodes::Size(Bytecode::kLdaConstant, OperandScale::kSingle); |
iterator.Advance(); |
+ CHECK_EQ(iterator.current_bytecode(), Bytecode::kStar); |
+ CHECK_EQ(iterator.current_offset(), offset); |
+ CHECK_EQ(iterator.current_operand_scale(), OperandScale::kSingle); |
+ CHECK_EQ(iterator.GetRegisterOperand(0).index(), reg_0.index()); |
+ CHECK_EQ(iterator.GetRegisterOperandRange(0), 1); |
+ CHECK(!iterator.done()); |
+ offset += Bytecodes::Size(Bytecode::kStar, OperandScale::kSingle); |
+ iterator.Advance(); |
+ |
CHECK_EQ(iterator.current_bytecode(), Bytecode::kLdaConstant); |
CHECK_EQ(iterator.current_offset(), offset); |
CHECK_EQ(iterator.current_operand_scale(), OperandScale::kSingle); |
@@ -72,6 +87,15 @@ TEST_F(BytecodeArrayIteratorTest, IteratesBytecodeArray) { |
offset += Bytecodes::Size(Bytecode::kLdaConstant, OperandScale::kSingle); |
iterator.Advance(); |
+ CHECK_EQ(iterator.current_bytecode(), Bytecode::kStar); |
+ CHECK_EQ(iterator.current_offset(), offset); |
+ CHECK_EQ(iterator.current_operand_scale(), OperandScale::kSingle); |
+ CHECK_EQ(iterator.GetRegisterOperand(0).index(), reg_0.index()); |
+ CHECK_EQ(iterator.GetRegisterOperandRange(0), 1); |
+ CHECK(!iterator.done()); |
+ offset += Bytecodes::Size(Bytecode::kStar, OperandScale::kSingle); |
+ iterator.Advance(); |
+ |
CHECK_EQ(iterator.current_bytecode(), Bytecode::kLdaZero); |
CHECK_EQ(iterator.current_offset(), offset); |
CHECK_EQ(iterator.current_operand_scale(), OperandScale::kSingle); |
@@ -79,6 +103,15 @@ TEST_F(BytecodeArrayIteratorTest, IteratesBytecodeArray) { |
offset += Bytecodes::Size(Bytecode::kLdaZero, OperandScale::kSingle); |
iterator.Advance(); |
+ CHECK_EQ(iterator.current_bytecode(), Bytecode::kStar); |
+ CHECK_EQ(iterator.current_offset(), offset); |
+ CHECK_EQ(iterator.current_operand_scale(), OperandScale::kSingle); |
+ CHECK_EQ(iterator.GetRegisterOperand(0).index(), reg_0.index()); |
+ CHECK_EQ(iterator.GetRegisterOperandRange(0), 1); |
+ CHECK(!iterator.done()); |
+ offset += Bytecodes::Size(Bytecode::kStar, OperandScale::kSingle); |
+ iterator.Advance(); |
+ |
CHECK_EQ(iterator.current_bytecode(), Bytecode::kLdaSmi); |
CHECK_EQ(iterator.current_offset(), offset); |
CHECK_EQ(iterator.current_operand_scale(), OperandScale::kSingle); |
@@ -87,6 +120,15 @@ TEST_F(BytecodeArrayIteratorTest, IteratesBytecodeArray) { |
offset += Bytecodes::Size(Bytecode::kLdaSmi, OperandScale::kSingle); |
iterator.Advance(); |
+ CHECK_EQ(iterator.current_bytecode(), Bytecode::kStar); |
+ CHECK_EQ(iterator.current_offset(), offset); |
+ CHECK_EQ(iterator.current_operand_scale(), OperandScale::kSingle); |
+ CHECK_EQ(iterator.GetRegisterOperand(0).index(), reg_0.index()); |
+ CHECK_EQ(iterator.GetRegisterOperandRange(0), 1); |
+ CHECK(!iterator.done()); |
+ offset += Bytecodes::Size(Bytecode::kStar, OperandScale::kSingle); |
+ iterator.Advance(); |
+ |
CHECK_EQ(iterator.current_bytecode(), Bytecode::kLdaSmi); |
CHECK_EQ(iterator.current_offset(), offset); |
CHECK_EQ(iterator.current_operand_scale(), OperandScale::kQuadruple); |
@@ -96,6 +138,15 @@ TEST_F(BytecodeArrayIteratorTest, IteratesBytecodeArray) { |
kPrefixByteSize; |
iterator.Advance(); |
+ CHECK_EQ(iterator.current_bytecode(), Bytecode::kStar); |
+ CHECK_EQ(iterator.current_offset(), offset); |
+ CHECK_EQ(iterator.current_operand_scale(), OperandScale::kSingle); |
+ CHECK_EQ(iterator.GetRegisterOperand(0).index(), reg_1.index()); |
+ CHECK_EQ(iterator.GetRegisterOperandRange(0), 1); |
+ CHECK(!iterator.done()); |
+ offset += Bytecodes::Size(Bytecode::kStar, OperandScale::kSingle); |
+ iterator.Advance(); |
+ |
CHECK_EQ(iterator.current_bytecode(), Bytecode::kLdar); |
CHECK_EQ(iterator.current_offset(), offset); |
CHECK_EQ(iterator.current_operand_scale(), OperandScale::kSingle); |
@@ -104,6 +155,15 @@ TEST_F(BytecodeArrayIteratorTest, IteratesBytecodeArray) { |
offset += Bytecodes::Size(Bytecode::kLdar, OperandScale::kSingle); |
iterator.Advance(); |
+ CHECK_EQ(iterator.current_bytecode(), Bytecode::kStar); |
+ CHECK_EQ(iterator.current_offset(), offset); |
+ CHECK_EQ(iterator.current_operand_scale(), OperandScale::kSingle); |
+ CHECK_EQ(iterator.GetRegisterOperand(0).index(), reg_1.index()); |
+ CHECK_EQ(iterator.GetRegisterOperandRange(0), 1); |
+ CHECK(!iterator.done()); |
+ offset += Bytecodes::Size(Bytecode::kStar, OperandScale::kSingle); |
+ iterator.Advance(); |
+ |
CHECK_EQ(iterator.current_bytecode(), Bytecode::kLoadIC); |
CHECK_EQ(iterator.current_offset(), offset); |
CHECK_EQ(iterator.current_operand_scale(), OperandScale::kSingle); |