| Index: src/hydrogen-instructions.cc
|
| ===================================================================
|
| --- src/hydrogen-instructions.cc (revision 12276)
|
| +++ src/hydrogen-instructions.cc (working copy)
|
| @@ -1682,6 +1682,7 @@
|
| if (current->IsJSGlobalProxy() ||
|
| current->IsGlobalObject() ||
|
| !current->IsJSObject() ||
|
| + JSObject::cast(current)->map()->has_named_interceptor() ||
|
| JSObject::cast(current)->IsAccessCheckNeeded() ||
|
| !JSObject::cast(current)->HasFastProperties()) {
|
| return false;
|
| @@ -1743,6 +1744,11 @@
|
| break;
|
| }
|
| } else if (lookup.IsCacheable() &&
|
| + // For dicts the lookup on the map will fail, but the object may
|
| + // contain the property so we cannot generate a negative lookup
|
| + // (which would just be a map check and return undefined).
|
| + !map->is_dictionary_map() &&
|
| + !map->has_named_interceptor() &&
|
| PrototypeChainCanNeverResolve(map, name)) {
|
| negative_lookups.Add(types->at(i), zone);
|
| }
|
|
|