Index: src/x87/lithium-codegen-x87.cc |
diff --git a/src/x87/lithium-codegen-x87.cc b/src/x87/lithium-codegen-x87.cc |
index aca3992bc67f1f8f4ad8880034c44091dbebd8ff..40926cdc3d4ec6957b3c72bf01c2cd240fe4e1e1 100644 |
--- a/src/x87/lithium-codegen-x87.cc |
+++ b/src/x87/lithium-codegen-x87.cc |
@@ -1155,14 +1155,12 @@ void LCodeGen::DeoptimizeIf(Condition cc, LInstruction* instr, |
DeoptComment(reason); |
__ call(entry, RelocInfo::RUNTIME_ENTRY); |
} else { |
+ Deoptimizer::JumpTableEntry table_entry(entry, reason, bailout_type, |
+ !frame_is_built_); |
// We often have several deopts to the same entry, reuse the last |
// jump entry if this is the case. |
if (jump_table_.is_empty() || |
- jump_table_.last().address != entry || |
- jump_table_.last().needs_frame != !frame_is_built_ || |
- jump_table_.last().bailout_type != bailout_type) { |
- Deoptimizer::JumpTableEntry table_entry(entry, reason, bailout_type, |
- !frame_is_built_); |
+ !table_entry.IsEquivalentTo(jump_table_.last())) { |
jump_table_.Add(table_entry, zone()); |
} |
if (cc == no_condition) { |