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; |
}; |