• bmeurer's avatar
    [compiler] Properly validate stable map assumption for globals. · 3aa57eb9
    bmeurer authored
    For global object property cells, we did not check that the map on the
    previous object is still the same for which we actually optimized. So
    the optimized code was not in sync with the actual state of the property
    cell. When loading from such a global object property cell, Crankshaft
    optimizes away any map checks (based on the stable map assumption),
    leading to arbitrary memory access in the worst case.
    
    TurboFan has the same bug for stores, but is safe on loads because we
    do appropriate map checks there. However mixing TurboFan and Crankshaft
    still exposes the bug.
    
    R=yangguo@chromium.org
    BUG=chromium:659475
    
    Review-Url: https://codereview.chromium.org/2444233004
    Cr-Commit-Position: refs/heads/master@{#40578}
    3aa57eb9
Name
Last commit
Last update
benchmarks Loading commit data...
build_overrides Loading commit data...
docs Loading commit data...
gni Loading commit data...
gypfiles 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/binutils Loading commit data...
tools Loading commit data...
.clang-format Loading commit data...
.gitignore Loading commit data...
.gn 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...
Makefile Loading commit data...
Makefile.android 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...