• Michael Lippautz's avatar
    api,heap: Avoid reaching out to embedder memory on TracedGlobal reset · 0af80a37
    Michael Lippautz authored
    Avoid clearing the memory on the embedder-side of a TracedGlobal handle.
    
    When using destructors in TracedGlobal this is safe as long as the embedder
    reports the handle on tracing GCs. If the embedder does not report a handle it
    is assumed that the containing object is dead as well.
    
    Without using destructors the same argument holds for tracing GCs. In addition,
    embedders using the optimization of clearing references on non-tracing GCs
    are expected to clear the reference in ResetHandleInNonTracingGC.
    
    It is suggested that only expert embedders make use of (a) no destructors and
    (b) IsRootForNonTracingGC.
    
    Change-Id: Ia417c0eb0860094fcaa554e7046d38abac905714
    Bug: chromium:995684
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1763539
    Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
    Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#63362}
    0af80a37
global-handles.h 10.5 KB