• Tobias Tebbi's avatar
    [turbofan][csa] optimize Smi untagging better · ff22ae80
    Tobias Tebbi authored
    - 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: 's avatarGeorg Neis <neis@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#67378}
    ff22ae80
Name
Last commit
Last update
..
arm Loading commit data...
arm64 Loading commit data...
ia32 Loading commit data...
mips Loading commit data...
mips64 Loading commit data...
ppc Loading commit data...
s390 Loading commit data...
x64 Loading commit data...
OWNERS Loading commit data...
code-generator-impl.h Loading commit data...
code-generator.cc Loading commit data...
code-generator.h Loading commit data...
frame-elider.cc Loading commit data...
frame-elider.h Loading commit data...
gap-resolver.cc Loading commit data...
gap-resolver.h Loading commit data...
instruction-codes.h Loading commit data...
instruction-scheduler.cc Loading commit data...
instruction-scheduler.h Loading commit data...
instruction-selector-impl.h Loading commit data...
instruction-selector.cc Loading commit data...
instruction-selector.h Loading commit data...
instruction.cc Loading commit data...
instruction.h Loading commit data...
jump-threading.cc Loading commit data...
jump-threading.h Loading commit data...
live-range-separator.cc Loading commit data...
live-range-separator.h Loading commit data...
move-optimizer.cc Loading commit data...
move-optimizer.h Loading commit data...
register-allocator-verifier.cc Loading commit data...
register-allocator-verifier.h Loading commit data...
register-allocator.cc Loading commit data...
register-allocator.h Loading commit data...
unwinding-info-writer.h Loading commit data...