Index: src/ic/accessor-assembler.cc |
diff --git a/src/ic/accessor-assembler.cc b/src/ic/accessor-assembler.cc |
index b0653a1ab2c755cfdadba90fd8821f032c6c4c1a..5c86ccea0bb56c26dc602643f3046ae509f5d3f4 100644 |
--- a/src/ic/accessor-assembler.cc |
+++ b/src/ic/accessor-assembler.cc |
@@ -948,16 +948,15 @@ void AccessorAssembler::EmitElementLoad( |
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 = |
+ LoadDetailsByKeyIndex<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); |
- exit_point->Return(LoadFixedArrayElement(elements, value_index)); |
+ exit_point->Return( |
+ LoadValueByKeyIndex<SeededNumberDictionary>(elements, index)); |
} |
Bind(&if_typed_array); |