Description[runtime] Make sure that LookupIterator::OWN always performs a HIDDEN lookup as well.
Hidden prototypes are merely an implementation detail. Properties on an object + hidden prototype should look like properties on the object. Hence we should always perform a hidden prototype lookup. This CL removes the option to ignore hidden prototypes to avoid bugs that leak this implementation detail.
Also, the only previously valid cases were either places were we knew we didn't have a hidden prototype; or because we knew we (in the optimizing compiler) would only handle properties from the non-hidden object.The first case is already handled by directly tagging whether a receiver has a hidden prototype. In the second case we can just filter out properties from hidden prototypes.
Committed: https://crrev.com/c9a83150e0440b30c4317db4d6cfe70a09557243
Cr-Commit-Position: refs/heads/master@{#36235}
Patch Set 1 #Patch Set 2 : Addressed comment #
Messages
Total messages: 13 (6 generated)
|