| Index: src/ic/accessor-assembler.cc
|
| diff --git a/src/ic/accessor-assembler.cc b/src/ic/accessor-assembler.cc
|
| index 209727d5808f3bdeb793df9debe090aedf1fa0f2..c6b17a11a4cdee098d0d0a5ab3a802d565f59521 100644
|
| --- a/src/ic/accessor-assembler.cc
|
| +++ b/src/ic/accessor-assembler.cc
|
| @@ -945,16 +945,14 @@ void AccessorAssembler::EmitElementLoad(Node* object, Node* elements,
|
| elements, intptr_index, &if_found, &var_entry, if_hole);
|
| Bind(&if_found);
|
| // Check that the value is a data property.
|
| - Node* details_index = EntryToIndex<SeededNumberDictionary>(
|
| - var_entry.value(), SeededNumberDictionary::kEntryDetailsIndex);
|
| - Node* details = SmiToWord32(LoadFixedArrayElement(elements, details_index));
|
| + Node* index = EntryToIndex<SeededNumberDictionary>(var_entry.value());
|
| + Node* details =
|
| + LoadDetailsForKeyIndex<SeededNumberDictionary>(elements, index);
|
| Node* kind = DecodeWord32<PropertyDetails::KindField>(details);
|
| // TODO(jkummerow): Support accessors without missing?
|
| GotoUnless(Word32Equal(kind, Int32Constant(kData)), miss);
|
| // Finally, load the value.
|
| - Node* value_index = EntryToIndex<SeededNumberDictionary>(
|
| - var_entry.value(), SeededNumberDictionary::kEntryValueIndex);
|
| - Return(LoadFixedArrayElement(elements, value_index));
|
| + Return(LoadValueForKeyIndex<SeededNumberDictionary>(elements, index));
|
| }
|
|
|
| Bind(&if_typed_array);
|
|
|