• Tobias Tebbi's avatar
    Reland "[turbofan][csa] optimize Smi untagging better" · 43b885a8
    Tobias Tebbi authored
    This is a reland of ff22ae80
    
    Original change's description:
    > [turbofan][csa] optimize Smi untagging better
    > 
    > - Introduce new operator variants for signed right-shifts with the
    >   additional information that they always shift out zeros.
    > - Use these new operators for Smi untagging.
    > - Merge left-shifts with a preceding Smi-untagging shift.
    > - Optimize comparisons of Smi-untagging shifts to operate on the
    >   unshifted word.
    > - Optimize 64bit comparisons of values expanded from 32bit to use
    >   a 32bit comparison instead.
    > - Change CodeStubAssembler::UntagSmi to first sign-extend and then
    >   right-shift to enable better address computations for Smi indices.
    > 
    > Bug: v8:9962
    > Change-Id: If91300f365e8f01457aebf0bd43bdf88b305c460
    > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2135734
    > Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
    > Reviewed-by: Georg Neis <neis@chromium.org>
    > Cr-Commit-Position: refs/heads/master@{#67378}
    
    Bug: v8:9962
    Change-Id: Ieab0755806c95fb50022eb17596fb0c95f36004c
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2170001
    Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
    Commit-Queue: Georg Neis <neis@chromium.org>
    Auto-Submit: Tobias Tebbi <tebbi@chromium.org>
    Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#67430}
    43b885a8
code-assembler.h 59.2 KB