diff options
author | isaacs <i@izs.me> | 2012-08-16 14:42:39 -0700 |
---|---|---|
committer | isaacs <i@izs.me> | 2012-08-16 14:42:56 -0700 |
commit | 73976b6c9ddbd2d22209ea292968ce700e97f1a2 (patch) | |
tree | bedce39b2db62eaafbbe506034be5444e7ade55c /deps/v8/src/hydrogen-instructions.cc | |
parent | 226d37bb6883bcf5d409f82a9d6e910d46f175a9 (diff) | |
download | node-new-73976b6c9ddbd2d22209ea292968ce700e97f1a2.tar.gz |
v8: Upgrade to 3.11.10.18
Diffstat (limited to 'deps/v8/src/hydrogen-instructions.cc')
-rw-r--r-- | deps/v8/src/hydrogen-instructions.cc | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/deps/v8/src/hydrogen-instructions.cc b/deps/v8/src/hydrogen-instructions.cc index 4bb25096f7..db3c3f3f78 100644 --- a/deps/v8/src/hydrogen-instructions.cc +++ b/deps/v8/src/hydrogen-instructions.cc @@ -1631,6 +1631,7 @@ static bool PrototypeChainCanNeverResolve( 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 @@ HLoadNamedFieldPolymorphic::HLoadNamedFieldPolymorphic(HValue* context, 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 @@ HLoadNamedFieldPolymorphic::HLoadNamedFieldPolymorphic(HValue* context, break; } } else if (lookup.IsCacheable()) { - if (PrototypeChainCanNeverResolve(map, name)) { + if (!map->has_named_interceptor() && + PrototypeChainCanNeverResolve(map, name)) { negative_lookups.Add(types->at(i), zone); } } |