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() && |