diff options
Diffstat (limited to 'deps/v8/test/unittests/compiler/instruction-selector-unittest.cc')
-rw-r--r-- | deps/v8/test/unittests/compiler/instruction-selector-unittest.cc | 48 |
1 files changed, 25 insertions, 23 deletions
diff --git a/deps/v8/test/unittests/compiler/instruction-selector-unittest.cc b/deps/v8/test/unittests/compiler/instruction-selector-unittest.cc index 1c2213d138..947bcdf4e4 100644 --- a/deps/v8/test/unittests/compiler/instruction-selector-unittest.cc +++ b/deps/v8/test/unittests/compiler/instruction-selector-unittest.cc @@ -44,9 +44,10 @@ InstructionSelectorTest::Stream InstructionSelectorTest::StreamBuilder::Build( InstructionSelector selector(test_->zone(), node_count, &linkage, &sequence, schedule, &source_position_table, nullptr, InstructionSelector::kEnableSwitchJumpTable, - InstructionSelector::kEnableSpeculationPoison, source_position_mode, features, - InstructionSelector::kDisableScheduling); + InstructionSelector::kDisableScheduling, + InstructionSelector::kDisableSerialization, + PoisoningMitigationLevel::kOn); selector.SelectInstructions(); if (FLAG_trace_turbo) { OFStream out(stdout); @@ -463,8 +464,8 @@ TARGET_TEST_F(InstructionSelectorTest, CallStubWithDeopt) { EXPECT_EQ(kArchCallCodeObject, call_instr->arch_opcode()); size_t num_operands = 1 + // Code object. - 1 + - 5 + // Frame state deopt id + one input for each value in frame state. + 1 + // Poison index + 6 + // Frame state deopt id + one input for each value in frame state. 1 + // Function. 1; // Context. ASSERT_EQ(num_operands, call_instr->InputCount()); @@ -473,23 +474,23 @@ TARGET_TEST_F(InstructionSelectorTest, CallStubWithDeopt) { EXPECT_TRUE(call_instr->InputAt(0)->IsImmediate()); // Deoptimization id. - int32_t deopt_id_before = s.ToInt32(call_instr->InputAt(1)); + int32_t deopt_id_before = s.ToInt32(call_instr->InputAt(2)); FrameStateDescriptor* desc_before = s.GetFrameStateDescriptor(deopt_id_before); EXPECT_EQ(bailout_id_before, desc_before->bailout_id()); EXPECT_EQ(1u, desc_before->parameters_count()); EXPECT_EQ(1u, desc_before->locals_count()); EXPECT_EQ(1u, desc_before->stack_count()); - EXPECT_EQ(43, s.ToInt32(call_instr->InputAt(3))); - EXPECT_EQ(0, s.ToInt32(call_instr->InputAt(4))); // This should be a context. + EXPECT_EQ(43, s.ToInt32(call_instr->InputAt(4))); + EXPECT_EQ(0, s.ToInt32(call_instr->InputAt(5))); // This should be a context. // We inserted 0 here. - EXPECT_EQ(0.5, s.ToFloat64(call_instr->InputAt(5))); - EXPECT_TRUE(s.ToHeapObject(call_instr->InputAt(6))->IsUndefined(isolate())); + EXPECT_EQ(0.5, s.ToFloat64(call_instr->InputAt(6))); + EXPECT_TRUE(s.ToHeapObject(call_instr->InputAt(7))->IsUndefined(isolate())); // Function. - EXPECT_EQ(s.ToVreg(function_node), s.ToVreg(call_instr->InputAt(7))); + EXPECT_EQ(s.ToVreg(function_node), s.ToVreg(call_instr->InputAt(8))); // Context. - EXPECT_EQ(s.ToVreg(context), s.ToVreg(call_instr->InputAt(8))); + EXPECT_EQ(s.ToVreg(context), s.ToVreg(call_instr->InputAt(9))); EXPECT_EQ(kArchRet, s[index++]->arch_opcode()); @@ -572,6 +573,7 @@ TARGET_TEST_F(InstructionSelectorTest, CallStubWithDeoptRecursiveFrameState) { EXPECT_EQ(kArchCallCodeObject, call_instr->arch_opcode()); size_t num_operands = 1 + // Code object. + 1 + // Poison index. 1 + // Frame state deopt id 6 + // One input for each value in frame state + context. 5 + // One input for each value in the parent frame state + context. @@ -582,7 +584,7 @@ TARGET_TEST_F(InstructionSelectorTest, CallStubWithDeoptRecursiveFrameState) { EXPECT_TRUE(call_instr->InputAt(0)->IsImmediate()); // Deoptimization id. - int32_t deopt_id_before = s.ToInt32(call_instr->InputAt(1)); + int32_t deopt_id_before = s.ToInt32(call_instr->InputAt(2)); FrameStateDescriptor* desc_before = s.GetFrameStateDescriptor(deopt_id_before); FrameStateDescriptor* desc_before_outer = desc_before->outer_state(); @@ -591,25 +593,25 @@ TARGET_TEST_F(InstructionSelectorTest, CallStubWithDeoptRecursiveFrameState) { EXPECT_EQ(1u, desc_before_outer->locals_count()); EXPECT_EQ(1u, desc_before_outer->stack_count()); // Values from parent environment. - EXPECT_EQ(63, s.ToInt32(call_instr->InputAt(3))); + EXPECT_EQ(63, s.ToInt32(call_instr->InputAt(4))); // Context: - EXPECT_EQ(66, s.ToInt32(call_instr->InputAt(4))); - EXPECT_EQ(64, s.ToInt32(call_instr->InputAt(5))); - EXPECT_EQ(65, s.ToInt32(call_instr->InputAt(6))); + EXPECT_EQ(66, s.ToInt32(call_instr->InputAt(5))); + EXPECT_EQ(64, s.ToInt32(call_instr->InputAt(6))); + EXPECT_EQ(65, s.ToInt32(call_instr->InputAt(7))); // Values from the nested frame. EXPECT_EQ(1u, desc_before->parameters_count()); EXPECT_EQ(1u, desc_before->locals_count()); EXPECT_EQ(2u, desc_before->stack_count()); - EXPECT_EQ(43, s.ToInt32(call_instr->InputAt(8))); - EXPECT_EQ(46, s.ToInt32(call_instr->InputAt(9))); - EXPECT_EQ(0.25, s.ToFloat64(call_instr->InputAt(10))); - EXPECT_EQ(44, s.ToInt32(call_instr->InputAt(11))); - EXPECT_EQ(45, s.ToInt32(call_instr->InputAt(12))); + EXPECT_EQ(43, s.ToInt32(call_instr->InputAt(9))); + EXPECT_EQ(46, s.ToInt32(call_instr->InputAt(10))); + EXPECT_EQ(0.25, s.ToFloat64(call_instr->InputAt(11))); + EXPECT_EQ(44, s.ToInt32(call_instr->InputAt(12))); + EXPECT_EQ(45, s.ToInt32(call_instr->InputAt(13))); // Function. - EXPECT_EQ(s.ToVreg(function_node), s.ToVreg(call_instr->InputAt(13))); + EXPECT_EQ(s.ToVreg(function_node), s.ToVreg(call_instr->InputAt(14))); // Context. - EXPECT_EQ(s.ToVreg(context2), s.ToVreg(call_instr->InputAt(14))); + EXPECT_EQ(s.ToVreg(context2), s.ToVreg(call_instr->InputAt(15))); // Continuation. EXPECT_EQ(kArchRet, s[index++]->arch_opcode()); |