• 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...
cctest Loading commit data...
common Loading commit data...
debugger Loading commit data...
fuzzer Loading commit data...
inspector Loading commit data...
intl Loading commit data...
js-perf-test Loading commit data...
memory Loading commit data...
message Loading commit data...
mjsunit Loading commit data...
mkgrokdump Loading commit data...
mozilla Loading commit data...
preparser Loading commit data...
test262 Loading commit data...
torque Loading commit data...
unittests Loading commit data...
wasm-js Loading commit data...
wasm-spec-tests Loading commit data...
webkit Loading commit data...
BUILD.gn Loading commit data...
OWNERS Loading commit data...