Index: src/hydrogen-instructions.cc |
=================================================================== |
--- src/hydrogen-instructions.cc (revision 12279) |
+++ src/hydrogen-instructions.cc (working copy) |
@@ -1631,6 +1631,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; |
@@ -1685,7 +1686,8 @@ |
types_.Add(types->at(i), zone); |
break; |
case MAP_TRANSITION: |
- if (PrototypeChainCanNeverResolve(map, name)) { |
+ if (!map->has_named_interceptor() && |
+ PrototypeChainCanNeverResolve(map, name)) { |
negative_lookups.Add(types->at(i), zone); |
} |
break; |
@@ -1693,7 +1695,8 @@ |
break; |
} |
} else if (lookup.IsCacheable()) { |
- if (PrototypeChainCanNeverResolve(map, name)) { |
+ if (!map->has_named_interceptor() && |
+ PrototypeChainCanNeverResolve(map, name)) { |
negative_lookups.Add(types->at(i), zone); |
} |
} |