• Simon Zünd's avatar
    Revert "[array] Move Array#sort pre-processing to Torque" · 70eeb22d
    Simon Zünd authored
    This reverts commit 2b0ac2fb.
    
    Reason for revert: Breaks scrollingcoordinator/non-fast-scrollable-region-nested.html layout test on https://ci.chromium.org/p/v8/builders/ci/V8-Blink%20Linux%2064/32241 
    
    Original change's description:
    > [array] Move Array#sort pre-processing to Torque
    > 
    > This CL removes the "PrepareElementsForSort" runtime function, and
    > replaces it with a simpler version in Torque. The biggest difference
    > is that certain sparse configurations no longer have a fast-path.
    > 
    > The Torque pre-processing step replaces the existing Torque mechanism that
    > copied already pre-processed elements into the "work" FixedArray. The Torque
    > compacting works as follows:
    >   - Iterate all elements from 0 to {length}
    >     - If the element is the hole: Do nothing.
    >     - If the element is "undefined": Increment undefined counter.
    >     - In all other cases, push the element into the "work" FixedArray.
    > 
    > Then the "work" FixedArray is sorted as before. Writing the elements from
    > the "work" array back into the receiver, after sorting, has three steps:
    >   1. Copy the sorted elements from the "work" FixedArray to the receiver.
    >   2. Add previously counted number of "undefined" to the receiver.
    >   3. Depending on the backing store either delete properties or
    >      set them to the Hole up to {length}.
    > 
    > Bug: v8:8714
    > Change-Id: I14eccb7cfd2e4618bce2a85cba0689d7e0380ad2
    > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1619756
    > Commit-Queue: Simon Zünd <szuend@chromium.org>
    > Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
    > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
    > Cr-Commit-Position: refs/heads/master@{#61812}
    
    TBR=peter.wm.wong@gmail.com,jgruber@chromium.org,tebbi@chromium.org,szuend@chromium.org
    
    Change-Id: If1c1bc07f38dfbd4bf6b6ce8f9d70714e7526877
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Bug: v8:8714
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1627976Reviewed-by: 's avatarSimon Zünd <szuend@chromium.org>
    Commit-Queue: Simon Zünd <szuend@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#61814}
    70eeb22d
runtime-array.cc 29.5 KB