• Ulan Degenbaev's avatar
    [heap] Clear old-to-old recorded slots in the sweeper. · c8c3f3cf
    Ulan Degenbaev authored
    Currently we clear only old-to-new slots in the sweeper.
    For old-to-old slots we maintain the invariant that there are no
    recorded slots in dead objects by explicitly clearing them
    on object size change and array trimming.
    
    The write barrier for concurrent marking will record slots
    even when the host object is white. Thus, it can introduce slots
    in dead objects, which will break evacuation phase if we do not
    clear them in the sweeper.
    
    Besides that, the patch makes handling of slots more uniform and
    allows us to remove clearing of slots on object size changes.
    
    BUG=chromium:694255
    
    Change-Id: I48f60eb25ddc48c6948be4461367e3f7abf74672
    Reviewed-on: https://chromium-review.googlesource.com/592207Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
    Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#46996}
    c8c3f3cf
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 Loading commit data...
tools Loading commit data...
.clang-format Loading commit data...
.editorconfig 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...