• Michael Lippautz's avatar
    cppgc: Add HeapObjectHeader · 0a64a52b
    Michael Lippautz authored
    This adds HeapObjectHeader, a meta object that is put in front of
    every managed object. HeapObjectHeader provides accessors for:
    1. GCInfoIndex
    2. In construction bit
    3. size
    4. Mark bit
    
    Meta info is distributed among two uint16_t fields as (1.,2.) and
    (3.,4.). This is convenient as the non-bit accessors (size,
    GCInfoIndex) are constant during marking.
    
    Object layout see heap-object-header.h.
    
    Note: The current implementation does not bypass ASAN poisoning and
    assumes an unpoisoned header whenever performing an access.
    
    Bug: chromium:1056170
    Change-Id: I753f15467ed5c2b22b47e64d3aa5a3c1baddf8e1
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2116031
    Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
    Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
    Reviewed-by: 's avatarOmer Katz <omerkatz@chromium.org>
    Reviewed-by: 's avatarHannes Payer <hpayer@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#66861}
    0a64a52b
Name
Last commit
Last update
..
cppgc Loading commit data...
libplatform Loading commit data...
APIDesign.md Loading commit data...
DEPS Loading commit data...
OWNERS Loading commit data...
js_protocol-1.2.json Loading commit data...
js_protocol-1.3.json Loading commit data...
js_protocol.pdl Loading commit data...
v8-fast-api-calls.h Loading commit data...
v8-inspector-protocol.h Loading commit data...
v8-inspector.h Loading commit data...
v8-internal.h Loading commit data...
v8-platform.h Loading commit data...
v8-profiler.h Loading commit data...
v8-util.h Loading commit data...
v8-value-serializer-version.h Loading commit data...
v8-version-string.h Loading commit data...
v8-version.h Loading commit data...
v8-wasm-trap-handler-posix.h Loading commit data...
v8-wasm-trap-handler-win.h Loading commit data...
v8.h Loading commit data...
v8config.h Loading commit data...