| Index: src/ic.cc
|
| diff --git a/src/ic.cc b/src/ic.cc
|
| index 475f1611c0575114e5853e5e4e0bd334ac3c59ee..4b77d92507a435c9c2446631118790158c731e73 100644
|
| --- a/src/ic.cc
|
| +++ b/src/ic.cc
|
| @@ -992,12 +992,14 @@ Object* KeyedLoadIC::Load(State state,
|
| }
|
| }
|
| set_target(stub);
|
| - // For JSObjects that are not value wrappers and that do not have
|
| - // indexed interceptors, we initialize the inlined fast case (if
|
| - // present) by patching the inlined map check.
|
| + // For JSObjects with fast elements that are not value wrappers
|
| + // and that do not have indexed interceptors, we initialize the
|
| + // inlined fast case (if present) by patching the inlined map
|
| + // check.
|
| if (object->IsJSObject() &&
|
| !object->IsJSValue() &&
|
| - !JSObject::cast(*object)->HasIndexedInterceptor()) {
|
| + !JSObject::cast(*object)->HasIndexedInterceptor() &&
|
| + JSObject::cast(*object)->HasFastElements()) {
|
| Map* map = JSObject::cast(*object)->map();
|
| PatchInlinedLoad(address(), map);
|
| }
|
|
|