| Index: src/deoptimizer.h
 | 
| diff --git a/src/deoptimizer.h b/src/deoptimizer.h
 | 
| index 7245810f21ceb0db0f44e1b36fd1699cc6444d65..35c3cbe66c49a7517fbf87f9c1779ede62f5192c 100644
 | 
| --- a/src/deoptimizer.h
 | 
| +++ b/src/deoptimizer.h
 | 
| @@ -184,41 +184,43 @@ class Deoptimizer : public Malloced {
 | 
|  
 | 
|    static const char* GetDeoptReason(DeoptReason deopt_reason);
 | 
|  
 | 
| -  struct Reason {
 | 
| -    Reason(int r, const char* m, DeoptReason d)
 | 
| +  struct DeoptInfo {
 | 
| +    DeoptInfo(int r, const char* m, DeoptReason d)
 | 
|          : raw_position(r), mnemonic(m), deopt_reason(d) {}
 | 
|  
 | 
| -    bool operator==(const Reason& other) const {
 | 
| +    bool operator==(const DeoptInfo& other) const {
 | 
|        return raw_position == other.raw_position &&
 | 
|               CStringEquals(mnemonic, other.mnemonic) &&
 | 
|               deopt_reason == other.deopt_reason;
 | 
|      }
 | 
|  
 | 
| -    bool operator!=(const Reason& other) const { return !(*this == other); }
 | 
| +    bool operator!=(const DeoptInfo& other) const { return !(*this == other); }
 | 
|  
 | 
|      int raw_position;
 | 
|      const char* mnemonic;
 | 
|      DeoptReason deopt_reason;
 | 
|    };
 | 
|  
 | 
| +  static DeoptInfo GetDeoptInfo(Code* code, int bailout_id);
 | 
| +
 | 
|    struct JumpTableEntry : public ZoneObject {
 | 
| -    inline JumpTableEntry(Address entry, const Reason& the_reason,
 | 
| +    inline JumpTableEntry(Address entry, const DeoptInfo& deopt_info,
 | 
|                            Deoptimizer::BailoutType type, bool frame)
 | 
|          : label(),
 | 
|            address(entry),
 | 
| -          reason(the_reason),
 | 
| +          deopt_info(deopt_info),
 | 
|            bailout_type(type),
 | 
|            needs_frame(frame) {}
 | 
|  
 | 
|      bool IsEquivalentTo(const JumpTableEntry& other) const {
 | 
|        return address == other.address && bailout_type == other.bailout_type &&
 | 
|               needs_frame == other.needs_frame &&
 | 
| -             (!FLAG_trace_deopt || reason == other.reason);
 | 
| +             (!FLAG_trace_deopt || deopt_info == other.deopt_info);
 | 
|      }
 | 
|  
 | 
|      Label label;
 | 
|      Address address;
 | 
| -    Reason reason;
 | 
| +    DeoptInfo deopt_info;
 | 
|      Deoptimizer::BailoutType bailout_type;
 | 
|      bool needs_frame;
 | 
|    };
 | 
| 
 |