Index: src/objects.cc |
diff --git a/src/objects.cc b/src/objects.cc |
index a5da88a0b3b2e0b5e44b17e0918d17655ea38e09..0336441f8d5812e38d082e5a013a8b1a7127dd8e 100644 |
--- a/src/objects.cc |
+++ b/src/objects.cc |
@@ -16164,8 +16164,7 @@ int NameDictionaryBase<Derived, Shape>::FindEntry(Handle<Name> key) { |
uint32_t count = 1; |
Isolate* isolate = this->GetIsolate(); |
while (true) { |
- int index = Derived::EntryToIndex(entry); |
- Object* element = this->get(index); |
+ Object* element = this->KeyAt(entry); |
if (element->IsUndefined(isolate)) break; // Empty entry. |
if (*key == element) return entry; |
DCHECK(element->IsTheHole(isolate) || element->IsUniqueName()); |
@@ -16261,11 +16260,11 @@ void HashTable<Derived, Shape, Key>::Rehash(Key key) { |
// are placed correctly. Other elements might need to be moved. |
done = true; |
for (uint32_t current = 0; current < capacity; current++) { |
- Object* current_key = get(EntryToIndex(current)); |
+ Object* current_key = KeyAt(current); |
if (IsKey(isolate, current_key)) { |
uint32_t target = EntryForProbe(key, current_key, probe, current); |
if (current == target) continue; |
- Object* target_key = get(EntryToIndex(target)); |
+ Object* target_key = KeyAt(target); |
if (!IsKey(target_key) || |
EntryForProbe(key, target_key, probe, target) != target) { |
// Put the current element into the correct position. |
@@ -16284,8 +16283,8 @@ void HashTable<Derived, Shape, Key>::Rehash(Key key) { |
Object* the_hole = isolate->heap()->the_hole_value(); |
Object* undefined = isolate->heap()->undefined_value(); |
for (uint32_t current = 0; current < capacity; current++) { |
- if (get(EntryToIndex(current)) == the_hole) { |
- set(EntryToIndex(current), undefined); |
+ if (KeyAt(current) == the_hole) { |
+ set(EntryToIndex(current) + Derived::kEntryKeyIndex, undefined); |
} |
} |
SetNumberOfDeletedElements(0); |