• cbruni's avatar
    Revert of [runtime] Do not use the enum-cache for non-prototype objects.... · 6e0573c6
    cbruni authored
    Revert of [runtime] Do not use the enum-cache for non-prototype objects. (patchset #10 id:180001 of https://codereview.chromium.org/1608523002/ )
    
    Reason for revert:
    tanks for-in significantly
    
    Original issue's description:
    > [runtime] Do not use the enum-cache for keys retrieval.
    >
    > Currently we fail to properly handle shadowed properties. If the
    > receiver defines a non-enumerable property that reappears on the
    > prototype as enumerable it incorrectly shows up in [[Enumerate]].
    > By extending the KeyAccumulator to track non-enumerable properties
    > we can now properly filter them out when seeing them further up in
    > the prototype-chain.
    >
    > BUG=v8:705
    > LOG=y
    >
    > Committed: https://crrev.com/ed24dfe80d1da0827b8571839ee52c03ad09c9c7
    > Cr-Commit-Position: refs/heads/master@{#33405}
    
    TBR=jkummerow@chromium.org,bmeurer@chromium.org
    # Not skipping CQ checks because original CL landed more than 1 days ago.
    BUG=v8:705
    LOG=n
    
    Review URL: https://codereview.chromium.org/1619803003
    
    Cr-Commit-Position: refs/heads/master@{#33443}
    6e0573c6
elements.cc 97.6 KB