Chromium Code Reviews| Index: src/x64/lithium-codegen-x64.cc |
| =================================================================== |
| --- src/x64/lithium-codegen-x64.cc (revision 7090) |
| +++ src/x64/lithium-codegen-x64.cc (working copy) |
| @@ -258,7 +258,7 @@ |
| bool LCodeGen::GenerateJumpTable() { |
| for (int i = 0; i < jump_table_.length(); i++) { |
| - JumpTableEntry* info = jump_table_[i]; |
| + JumpTableEntry* info = &jump_table_[i]; |
| __ bind(&(info->label_)); |
| __ Jump(info->address_, RelocInfo::RUNTIME_ENTRY); |
| } |
| @@ -538,17 +538,13 @@ |
| if (cc == no_condition) { |
| __ Jump(entry, RelocInfo::RUNTIME_ENTRY); |
| } else { |
| - JumpTableEntry* jump_info = NULL; |
| // We often have several deopts to the same entry, reuse the last |
| // jump entry if this is the case. |
| - if (jump_table_.length() > 0 && |
| - jump_table_[jump_table_.length() - 1]->address_ == entry) { |
| - jump_info = jump_table_[jump_table_.length() - 1]; |
| - } else { |
| - jump_info = new JumpTableEntry(entry); |
| - jump_table_.Add(jump_info); |
| + if (jump_table_.is_empty() || |
| + jump_table_.last().address_ != entry) { |
| + jump_table_.Add(entry); |
|
Lasse Reichstein
2011/03/09 09:57:07
If the JumpTableEntry constructor was explicit, th
|
| } |
| - __ j(cc, &jump_info->label_); |
| + __ j(cc, &jump_table_.last().label_); |
| } |
| } |