• Ulan Degenbaev's avatar
    [heap] Refactor object marking state. · 4af9cfcc
    Ulan Degenbaev authored
    This patch merges ObjectMarking and MarkingState. The new marking state
    encapsulates object marking, live byte tracking, and access atomicity.
    
    The old ObjectMarking calls are now replaced with calls to marking
    state. For example:
    ObjectMarking::WhiteToGrey<kAtomicity>(obj, marking_state(obj)
    becomes
    marking_state()->WhiteToGrey(obj)
    
    This simplifies custom handling of live bytes and allows to chose
    atomicity of markbit accesses depending on collector's state.
    
    This also decouples marking bitmap from the marking code, which will
    allows in future to use different data-structure for mark-bits.
    
    Bug: chromium:694255
    Change-Id: Ifb4bc0144187bac1c08f6bc74a9d5c618fe77740
    Reviewed-on: https://chromium-review.googlesource.com/602132
    Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
    Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#47288}
    4af9cfcc
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...