| Index: src/runtime/runtime-object.cc
|
| diff --git a/src/runtime/runtime-object.cc b/src/runtime/runtime-object.cc
|
| index c8c379dc258124939e90863c52e50558861567d3..e37807e2ae2bdb3fa080930982ed97ce2510ef62 100644
|
| --- a/src/runtime/runtime-object.cc
|
| +++ b/src/runtime/runtime-object.cc
|
| @@ -596,13 +596,14 @@ RUNTIME_FUNCTION(Runtime_KeyedGetProperty) {
|
| // Attempt dictionary lookup.
|
| GlobalDictionary* dictionary = receiver->global_dictionary();
|
| int entry = dictionary->FindEntry(key);
|
| - if ((entry != GlobalDictionary::kNotFound) &&
|
| - (dictionary->DetailsAt(entry).type() == DATA)) {
|
| - Object* value = dictionary->ValueAt(entry);
|
| - DCHECK(value->IsPropertyCell());
|
| - value = PropertyCell::cast(value)->value();
|
| - if (!value->IsTheHole()) return value;
|
| - // If value is the hole (meaning, absent) do the general lookup.
|
| + if (entry != GlobalDictionary::kNotFound) {
|
| + DCHECK(dictionary->ValueAt(entry)->IsPropertyCell());
|
| + PropertyCell* cell = PropertyCell::cast(dictionary->ValueAt(entry));
|
| + if (cell->property_details().type() == DATA) {
|
| + Object* value = cell->value();
|
| + if (!value->IsTheHole()) return value;
|
| + // If value is the hole (meaning, absent) do the general lookup.
|
| + }
|
| }
|
| } else if (!receiver->HasFastProperties()) {
|
| // Attempt dictionary lookup.
|
|
|