| Index: src/compiler/instruction-selector.cc
|
| diff --git a/src/compiler/instruction-selector.cc b/src/compiler/instruction-selector.cc
|
| index b31ce4eb121ef629b71c329a12dd54527044d33e..0e3f341f4f2a1c16d88e4deece82138e7dc4bc27 100644
|
| --- a/src/compiler/instruction-selector.cc
|
| +++ b/src/compiler/instruction-selector.cc
|
| @@ -1001,21 +1001,15 @@ void InstructionSelector::VisitThrow(Node* value) {
|
|
|
| FrameStateDescriptor* InstructionSelector::GetFrameStateDescriptor(
|
| Node* state) {
|
| - DCHECK(state->opcode() == IrOpcode::kFrameState);
|
| - DCHECK_EQ(5, state->InputCount());
|
| + DCHECK(state->op()->opcode() == IrOpcode::kFrameState);
|
| FrameStateCallInfo state_info = OpParameter<FrameStateCallInfo>(state);
|
| - int parameters = OpParameter<int>(state->InputAt(0));
|
| - int locals = OpParameter<int>(state->InputAt(1));
|
| - int stack = OpParameter<int>(state->InputAt(2));
|
| -
|
| - FrameStateDescriptor* outer_state = NULL;
|
| - Node* outer_node = state->InputAt(4);
|
| - if (outer_node->opcode() == IrOpcode::kFrameState) {
|
| - outer_state = GetFrameStateDescriptor(outer_node);
|
| - }
|
| + Node* parameters = state->InputAt(0);
|
| + Node* locals = state->InputAt(1);
|
| + Node* stack = state->InputAt(2);
|
|
|
| return new (instruction_zone())
|
| - FrameStateDescriptor(state_info, parameters, locals, stack, outer_state);
|
| + FrameStateDescriptor(state_info, OpParameter<int>(parameters),
|
| + OpParameter<int>(locals), OpParameter<int>(stack));
|
| }
|
|
|
|
|
| @@ -1037,10 +1031,6 @@ void InstructionSelector::AddFrameStateInputs(
|
| FrameStateDescriptor* descriptor) {
|
| DCHECK_EQ(IrOpcode::kFrameState, state->op()->opcode());
|
|
|
| - if (descriptor->outer_state() != NULL) {
|
| - AddFrameStateInputs(state->InputAt(4), inputs, descriptor->outer_state());
|
| - }
|
| -
|
| Node* parameters = state->InputAt(0);
|
| Node* locals = state->InputAt(1);
|
| Node* stack = state->InputAt(2);
|
|
|