• Michael Lippautz's avatar
    cppgc: Fix low-level write barriers · 65893d84
    Michael Lippautz authored
    Some types of supported low-level write barrier only requires passing
    a slot, which may not be even part of a heap object but stack.
    
    This complicates the situation, as even with caged heap, there's no
    way to distinguish a stack and heap slot.
    
    Solve this by passing an optional callback that can lazy be used to
    get the heap. This can be used by the embedder to retrieve the heap
    from e.g. TLS if needed.  This aligns the barrier with Oilpan in
    Blink.
    
    Bug: chromium:1056170
    Change-Id: I1e5d022ab17a2614a67b6ef39ed12691bcbd0ac6
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2675924Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
    Reviewed-by: 's avatarOmer Katz <omerkatz@chromium.org>
    Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#72550}
    65893d84
write-barrier-unittest.cc 15.8 KB