| Index: src/ic.cc
|
| diff --git a/src/ic.cc b/src/ic.cc
|
| index 43ee60232fd300120b1ce895aae180569b575205..5de1a2a4bce778f8bbc204e96280301a934229cc 100644
|
| --- a/src/ic.cc
|
| +++ b/src/ic.cc
|
| @@ -996,6 +996,7 @@ void LoadIC::UpdateCaches(LookupResult* lookup,
|
| Handle<Object> getter(Handle<AccessorPair>::cast(callback)->getter());
|
| if (!getter->IsJSFunction()) return;
|
| if (holder->IsGlobalObject()) return;
|
| + if (!holder->HasFastProperties()) return;
|
| code = isolate()->stub_cache()->ComputeLoadViaGetter(
|
| name, receiver, holder, Handle<JSFunction>::cast(getter));
|
| } else {
|
| @@ -1264,7 +1265,6 @@ void KeyedLoadIC::UpdateCaches(LookupResult* lookup,
|
| Handle<AccessorInfo> callback =
|
| Handle<AccessorInfo>::cast(callback_object);
|
| if (v8::ToCData<Address>(callback->getter()) == 0) return;
|
| - if (!holder->HasFastProperties()) return;
|
| if (!callback->IsCompatibleReceiver(*receiver)) return;
|
| code = isolate()->stub_cache()->ComputeKeyedLoadCallback(
|
| name, receiver, holder, callback);
|
|
|