| Index: src/compiler/code-generator.cc
 | 
| diff --git a/src/compiler/code-generator.cc b/src/compiler/code-generator.cc
 | 
| index c1a54cad6e69b52ee5e5b00797dff09eceacaa46..d05953e8b4719d3e15284ccd398bd57b20307735 100644
 | 
| --- a/src/compiler/code-generator.cc
 | 
| +++ b/src/compiler/code-generator.cc
 | 
| @@ -196,8 +196,7 @@ Handle<Code> CodeGenerator::GenerateCode() {
 | 
|    // Assemble all eager deoptimization exits.
 | 
|    for (DeoptimizationExit* exit : deoptimization_exits_) {
 | 
|      masm()->bind(exit->label());
 | 
| -    AssembleDeoptimizerCall(exit->deoptimization_id(), Deoptimizer::EAGER,
 | 
| -                            exit->pos());
 | 
| +    AssembleDeoptimizerCall(exit->deoptimization_id(), exit->pos());
 | 
|    }
 | 
|  
 | 
|    // Ensure there is space for lazy deoptimization in the code.
 | 
| @@ -672,6 +671,13 @@ DeoptimizationEntry const& CodeGenerator::GetDeoptimizationEntry(
 | 
|    return code()->GetDeoptimizationEntry(state_id);
 | 
|  }
 | 
|  
 | 
| +DeoptimizeKind CodeGenerator::GetDeoptimizationKind(
 | 
| +    int deoptimization_id) const {
 | 
| +  size_t const index = static_cast<size_t>(deoptimization_id);
 | 
| +  DCHECK_LT(index, deoptimization_states_.size());
 | 
| +  return deoptimization_states_[index]->kind();
 | 
| +}
 | 
| +
 | 
|  DeoptimizeReason CodeGenerator::GetDeoptimizationReason(
 | 
|      int deoptimization_id) const {
 | 
|    size_t const index = static_cast<size_t>(deoptimization_id);
 | 
| @@ -836,7 +842,7 @@ int CodeGenerator::BuildTranslation(Instruction* instr, int pc_offset,
 | 
|    int deoptimization_id = static_cast<int>(deoptimization_states_.size());
 | 
|  
 | 
|    deoptimization_states_.push_back(new (zone()) DeoptimizationState(
 | 
| -      descriptor->bailout_id(), translation.index(), pc_offset,
 | 
| +      descriptor->bailout_id(), translation.index(), pc_offset, entry.kind(),
 | 
|        entry.reason()));
 | 
|  
 | 
|    return deoptimization_id;
 | 
| 
 |