Index: src/objects.cc |
diff --git a/src/objects.cc b/src/objects.cc |
index 6a808c4a0fee33e59d9a895fb691e73a79fe69db..a0ffcd92be72fc1275a5ef8d64a81edb9d395b74 100644 |
--- a/src/objects.cc |
+++ b/src/objects.cc |
@@ -5187,7 +5187,7 @@ Object* JSObject::GetHiddenProperty(Handle<Name> key) { |
if (inline_value->IsUndefined()) return GetHeap()->the_hole_value(); |
ObjectHashTable* hashtable = ObjectHashTable::cast(inline_value); |
- Object* entry = hashtable->Lookup(*key); |
+ Object* entry = hashtable->Lookup(key); |
return entry; |
} |
@@ -16036,8 +16036,9 @@ Object* Dictionary<Derived, Shape, Key>::SlowReverseLookup(Object* value) { |
} |
-Object* ObjectHashTable::Lookup(Object* key) { |
- ASSERT(IsKey(key)); |
+Object* ObjectHashTable::Lookup(Handle<Object> key) { |
+ DisallowHeapAllocation no_gc; |
+ ASSERT(IsKey(*key)); |
// If the object does not have an identity hash, it was never used as a key. |
Object* hash = key->GetHash(); |
@@ -16411,8 +16412,9 @@ Handle<OrderedHashSet> OrderedHashSet::Remove(Handle<OrderedHashSet> table, |
} |
-Object* OrderedHashMap::Lookup(Object* key) { |
- int entry = FindEntry(key); |
+Object* OrderedHashMap::Lookup(Handle<Object> key) { |
+ DisallowHeapAllocation no_gc; |
+ int entry = FindEntry(*key); |
if (entry == kNotFound) return GetHeap()->the_hole_value(); |
return ValueAt(entry); |
} |