• Michael Lippautz's avatar
    heap: Delay completing marking · 02e57873
    Michael Lippautz authored
    Delay completing marking (and thus the atomic GC pause) during JS
    executions, increasing the chance to finalize the garbage collection
    from a task. This is beneficial as it avoids stack scanning which is
    expensive and can keep alive outdated objects in case of unified heap.
    
    Completing will be delayed at most by some overshoot factor (10%).
    
    In addition, the GC keeps the weighted average of previously recorded
    time to incremental marking task invocations and bails out if the
    task is expected to arrive too late.
    
    Bug: chromium:1044630
    Change-Id: I10e63e6aaa88d8488d4415f311016dce2b4e62a2
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2030906
    Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
    Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#66107}
    02e57873
incremental-marking.h 10.6 KB