Index: src/deoptimizer.h |
diff --git a/src/deoptimizer.h b/src/deoptimizer.h |
index e48848a4755263c38f212e024208266499607689..35c3cbe66c49a7517fbf87f9c1779ede62f5192c 100644 |
--- a/src/deoptimizer.h |
+++ b/src/deoptimizer.h |
@@ -188,6 +188,14 @@ |
DeoptInfo(int r, const char* m, DeoptReason d) |
: raw_position(r), mnemonic(m), deopt_reason(d) {} |
+ bool operator==(const DeoptInfo& other) const { |
+ return raw_position == other.raw_position && |
+ CStringEquals(mnemonic, other.mnemonic) && |
+ deopt_reason == other.deopt_reason; |
+ } |
+ |
+ bool operator!=(const DeoptInfo& other) const { return !(*this == other); } |
+ |
int raw_position; |
const char* mnemonic; |
DeoptReason deopt_reason; |
@@ -206,7 +214,8 @@ |
bool IsEquivalentTo(const JumpTableEntry& other) const { |
return address == other.address && bailout_type == other.bailout_type && |
- needs_frame == other.needs_frame; |
+ needs_frame == other.needs_frame && |
+ (!FLAG_trace_deopt || deopt_info == other.deopt_info); |
} |
Label label; |