| Index: src/ic.cc
|
| diff --git a/src/ic.cc b/src/ic.cc
|
| index a8d16d3d3a03d03a8eb017bbb3b0d33a84db0185..b902b5386dc6eff55698908bf4e09621c23a38e8 100644
|
| --- a/src/ic.cc
|
| +++ b/src/ic.cc
|
| @@ -1323,15 +1323,9 @@ static bool LookupForWrite(Handle<JSObject> receiver,
|
| receiver->map()->LookupTransition(*receiver, *name, lookup);
|
| }
|
| if (!StoreICableLookup(lookup)) {
|
| - // 2nd chance: There can be accessors somewhere in the prototype chain. Note
|
| - // that we explicitly exclude native accessors for now, because the stubs
|
| - // are not yet prepared for this scenario.
|
| + // 2nd chance: There can be accessors somewhere in the prototype chain.
|
| receiver->Lookup(*name, lookup);
|
| - if (!lookup->IsPropertyCallbacks()) {
|
| - return false;
|
| - }
|
| - Handle<Object> callback(lookup->GetCallbackObject());
|
| - return StoreICableLookup(lookup);
|
| + return lookup->IsPropertyCallbacks() && StoreICableLookup(lookup);
|
| }
|
|
|
| if (lookup->IsInterceptor() &&
|
|
|