• 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...
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...
promises-aplus Loading commit data...
test262 Loading commit data...
unittests Loading commit data...
wasm-spec-tests Loading commit data...
webkit Loading commit data...
BUILD.gn Loading commit data...
bot_default.gyp Loading commit data...
bot_default.isolate Loading commit data...
default.gyp Loading commit data...
default.isolate Loading commit data...
optimize_for_size.gyp Loading commit data...
optimize_for_size.isolate Loading commit data...
perf.gyp Loading commit data...
perf.isolate Loading commit data...