• Benedikt Meurer's avatar
    [cleanup] Cleanup JSArrayBuffer and TurboFan's handling of neutering. · beebb236
    Benedikt Meurer authored
    Cleanup the JSArrayBuffer bit fields to use the proper object macros
    that are now otherwise used consistently across the code base. Also
    change TurboFan to consistently bailout when it sees an array buffer
    that was previously neutered, so that the generic path / builtins are
    again the chokepoints for the spec violations (the fact that we don't
    always raise exceptions when we see a neutered array buffer), except
    for the ArrayBufferView accessor inlining in the JSCallReducer, where
    we still turn the values into zero (because we don't have access to
    a CALL_IC speculation guard in the common case).
    
    This also removes the ArrayBufferWasNeutered simplified operator, and
    does regular LoadField + Number bitwise operations instead, which is
    good enough and allows us to get rid of a lot of unnecessary complexity.
    
    Bug: v8:4153, v8:7881, v8:8015, v8:8171, v8:8178
    Change-Id: I4ce79ece762c632e6318f2ab7bcc6b2f82383947
    Reviewed-on: https://chromium-review.googlesource.com/1226887Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
    Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#55958}
    beebb236
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...