| Index: src/compiler/instruction-selector.cc
|
| diff --git a/src/compiler/instruction-selector.cc b/src/compiler/instruction-selector.cc
|
| index 3e3943f3720fcdf09f135525fbdbd21d2066cb40..733624e86622f16e253309a0b1749fd004efed77 100644
|
| --- a/src/compiler/instruction-selector.cc
|
| +++ b/src/compiler/instruction-selector.cc
|
| @@ -1082,17 +1082,19 @@ void InstructionSelector::VisitDeoptimize(Node* deopt) {
|
| DCHECK(deopt->op()->opcode() == IrOpcode::kDeoptimize);
|
| Node* state = deopt->InputAt(0);
|
| FrameStateDescriptor* descriptor = GetFrameStateDescriptor(state);
|
| + int deoptimization_id = sequence()->AddDeoptimizationEntry(descriptor);
|
|
|
| InstructionOperandVector inputs(zone());
|
| - inputs.reserve(descriptor->size());
|
| + inputs.reserve(descriptor->size() + 1);
|
| +
|
| + OperandGenerator g(this);
|
| + inputs.push_back(g.TempImmediate(deoptimization_id));
|
|
|
| AddFrameStateInputs(state, &inputs, descriptor);
|
|
|
| - DCHECK_EQ(descriptor->size(), inputs.size());
|
| + DCHECK_EQ(descriptor->size() + 1, inputs.size());
|
|
|
| - int deoptimization_id = sequence()->AddDeoptimizationEntry(descriptor);
|
| - Emit(kArchDeoptimize | MiscField::encode(deoptimization_id), 0, NULL,
|
| - inputs.size(), &inputs.front(), 0, NULL);
|
| + Emit(kArchDeoptimize, 0, NULL, inputs.size(), &inputs.front(), 0, NULL);
|
| }
|
|
|
|
|
|
|