Index: src/runtime/runtime-object.cc |
diff --git a/src/runtime/runtime-object.cc b/src/runtime/runtime-object.cc |
index 340a6452e8f3844c06597e8eb5bd41c65181132b..2d01bd3e15b4b60b0aff056c5102dec345602062 100644 |
--- a/src/runtime/runtime-object.cc |
+++ b/src/runtime/runtime-object.cc |
@@ -601,33 +601,7 @@ RUNTIME_FUNCTION(Runtime_KeyedGetProperty) { |
DisallowHeapAllocation no_allocation; |
Handle<JSObject> receiver = Handle<JSObject>::cast(receiver_obj); |
Handle<Name> key = Handle<Name>::cast(key_obj); |
- if (receiver->HasFastProperties()) { |
- // Attempt to use lookup cache. |
- Handle<Map> receiver_map(receiver->map(), isolate); |
- KeyedLookupCache* keyed_lookup_cache = isolate->keyed_lookup_cache(); |
- int index = keyed_lookup_cache->Lookup(receiver_map, key); |
- if (index != -1) { |
- // Doubles are not cached, so raw read the value. |
- return receiver->RawFastPropertyAt( |
- FieldIndex::ForKeyedLookupCacheIndex(*receiver_map, index)); |
- } |
- // Lookup cache miss. Perform lookup and update the cache if |
- // appropriate. |
- LookupIterator it(receiver, key, LookupIterator::OWN); |
- if (it.state() == LookupIterator::DATA && |
- it.property_details().type() == DATA) { |
- FieldIndex field_index = it.GetFieldIndex(); |
- // Do not track double fields in the keyed lookup cache. Reading |
- // double values requires boxing. |
- if (!it.representation().IsDouble()) { |
- keyed_lookup_cache->Update(receiver_map, key, |
- field_index.GetKeyedLookupCacheIndex()); |
- } |
- AllowHeapAllocation allow_allocation; |
- return *JSObject::FastPropertyAt(receiver, it.representation(), |
- field_index); |
- } |
- } else { |
+ if (!receiver->HasFastProperties()) { |
// Attempt dictionary lookup. |
NameDictionary* dictionary = receiver->property_dictionary(); |
int entry = dictionary->FindEntry(key); |