• Simon Zünd's avatar
    [array] Fix prototype chain interaction in sort pre-processing · 4bf28a33
    Simon Zünd authored
    This CL fixes two bugs. First, when looking for a free spot while
    moving elements to the front, the prototype chain was also considered,
    even though an object at a specific index might have a hole (free
    spot).
    
    Second, when moving an element to the front, we are not allowed to
    delete it immediately (to preserve semantics when interacting with
    non-extensible objects). Such an element is then a free spot, but
    won't be recognised as such. This CL sets that element to undefined
    after it was moved, to mark it as a free spot.
    
    R=jgruber@chromium.org
    
    Bug: chromium:897512,v8:8369
    Change-Id: I79207215b8b0a3c714f064450d8fe5ca0ea4a096
    Reviewed-on: https://chromium-review.googlesource.com/c/1417171
    Commit-Queue: Simon Zünd <szuend@chromium.org>
    Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#58878}
    4bf28a33
runtime-array.cc 33.9 KB