• Jakob Kummerow's avatar
    [ubsan] Fix two more UBSan issues · 34b467e1
    Jakob Kummerow authored
    RotateRight32 needs a "number of bits" operand in the range 0..31.
    Thankfully that's how x86 shift instructions behave anyway, and
    how the bitwise shift operators in JavaScript are spec'ed, so this
    fix is unobservable in non-UBSan builds.
    
    RemoveArrayHolesGeneric can be used for length values anywhere in
    the uint32_t range, so it must not implicitly cast those to int.
    That actually caused an observable bug where a proxy's traps would
    not get called at all, but only for huge "length" properties, where
    the entire operation would also be painfully slow.
    
    Bug: chromium:935133, chromium:937652
    Change-Id: I13f74ca27eae6b2b089d58217842b699b2574509
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1510272
    Auto-Submit: Jakob Kummerow <jkummerow@chromium.org>
    Reviewed-by: 's avatarAdam Klein <adamk@chromium.org>
    Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
    Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#60112}
    34b467e1
Name
Last commit
Last update
benchmarks Loading commit data...
build_overrides Loading commit data...
custom_deps Loading commit data...
docs Loading commit data...
gni Loading commit data...
include Loading commit data...
infra Loading commit data...
samples Loading commit data...
src Loading commit data...
test Loading commit data...
testing Loading commit data...
third_party Loading commit data...
tools Loading commit data...
.clang-format Loading commit data...
.clang-tidy Loading commit data...
.editorconfig Loading commit data...
.git-blame-ignore-revs Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
.gn Loading commit data...
.vpython Loading commit data...
.ycm_extra_conf.py Loading commit data...
AUTHORS Loading commit data...
BUILD.gn Loading commit data...
CODE_OF_CONDUCT.md Loading commit data...
ChangeLog Loading commit data...
DEPS Loading commit data...
LICENSE Loading commit data...
LICENSE.fdlibm Loading commit data...
LICENSE.strongtalk Loading commit data...
LICENSE.v8 Loading commit data...
LICENSE.valgrind Loading commit data...
OWNERS Loading commit data...
PRESUBMIT.py Loading commit data...
README.md Loading commit data...
WATCHLISTS Loading commit data...
codereview.settings Loading commit data...
snapshot_toolchain.gni Loading commit data...