• caitpotter88's avatar
    reland [es7] refactor and fix Object.values() / Object.entries() · e708dd54
    caitpotter88 authored
    Previously, Object.values() and Object.entries() were piggy-backing on
    Object.keys(). This meant that they would pre-filter non-enumerable properties,
    violating the runtime behaviour of the methods. Unfortunately, this does not
    match the current proposal text.
    
    Also incorporates several tests verifying this behaviour based on tests included
    in the ChakraCore implementation.
    
    In this reland, the new patch fills up the longer-lasting FixedArray with
    `undefined` to avoid the crash in Heap::Verify().
    
    Originally reviewed at https://codereview.chromium.org/1637753004
    
    BUG=v8:4663
    LOG=N
    R=adamk@chromium.org, rossberg@chromium.org, littledan@chromium.org
    
    Review URL: https://codereview.chromium.org/1673673002
    
    Cr-Commit-Position: refs/heads/master@{#33818}
    e708dd54
builtins.cc 149 KB