| Index: src/ia32/lithium-codegen-ia32.cc
|
| diff --git a/src/ia32/lithium-codegen-ia32.cc b/src/ia32/lithium-codegen-ia32.cc
|
| index c672a7938b9cf99799da8fd6f310c6aaaa2c47d6..b675f430c9cf8fadc3f3dcc9138670cafc21e913 100644
|
| --- a/src/ia32/lithium-codegen-ia32.cc
|
| +++ b/src/ia32/lithium-codegen-ia32.cc
|
| @@ -386,10 +386,6 @@ bool LCodeGen::GenerateJumpTable() {
|
| Deoptimizer::JumpTableEntry* table_entry = &jump_table_[i];
|
| __ bind(&table_entry->label);
|
| Address entry = table_entry->address;
|
| - Deoptimizer::BailoutType type = table_entry->bailout_type;
|
| - int id = Deoptimizer::GetDeoptimizationId(isolate(), entry, type);
|
| - DCHECK_NE(Deoptimizer::kNotDeoptimizationEntry, id);
|
| - Comment(";;; jump table entry %d: deoptimization bailout %d.", i, id);
|
| DeoptComment(table_entry->reason);
|
| if (table_entry->needs_frame) {
|
| DCHECK(!info()->saves_caller_doubles());
|
| @@ -874,14 +870,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) {
|
|
|