DescriptionAvoid duplication of a hidden & inherited prototype's properties.
In Runtime_GetLocalPropertyNames(), the hidden prototypes of an object
are also consulted when deriving the property name set. However, if
given a function object and its template was inherited from the
template of one of its hidden prototypes, that hidden prototype's
property accessors will be present on the object already. Unwanted
duplicates will therefore appear.
Hence, go through the property names that the hidden prototypes
contribute and remove any already occurring ones.
Assumed to be a rare constellation, so the cost of this extra pass is
considered acceptable.
LOG=N
R=dcarney@chromium.org, jochen@chromium.org, rossberg@chromium.org
BUG=269562
Committed: https://code.google.com/p/v8/source/detail?r=18448
Patch Set 1 #Patch Set 2 : Reuploaded #
Total comments: 3
Patch Set 3 : Follow v8 coding style #
Total comments: 5
Patch Set 4 : Rework to remove duplicates instead #Patch Set 5 : Follow variable naming convention #
Total comments: 9
Patch Set 6 : Stub out duplicates using hidden string values instead #
Total comments: 4
Patch Set 7 : Verify that 'hidden strings' book-keeping matches up #
Total comments: 2
Patch Set 8 : Remove DEBUG protection #Messages
Total messages: 18 (0 generated)
|