• jochen@chromium.org's avatar
    Avoid duplication of a hidden & inherited prototype's properties. · e3fa6d67
    jochen@chromium.org authored
    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
    
    Review URL: https://codereview.chromium.org/116533003
    
    Patch from Sigbjorn Finne <sof@opera.com>.
    
    git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18448 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
    e3fa6d67
runtime.cc 510 KB