• Michael Lippautz's avatar
    Reland "heap: Delay completing marking" · 562c15d6
    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.
    
    Reland: Do not schedule a delayed task when marking has already been
    finalized.
    
    This reverts commit 1775684e.
    
    Bug: chromium:1044630, v8:10178
    Change-Id: Ic46e9504ce7c200bd1d37ee8d0190fb8727a3f96
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2037436Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
    Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#66137}
    562c15d6
incremental-marking.h 10.6 KB