• Ulan Degenbaev's avatar
    Reland "[heap] Detect ineffective GCs near the heap limit."" · 2e8b3996
    Ulan Degenbaev authored
    This relands commit 496d0596.
    
    Original change's description:
    > [heap] Detect ineffective GCs near the heap limit.
    >
    > Currently V8 can enter CPU thrashing GC loop near the heap limit. In
    > such cases it is better to trigger an out-of-memory failure earlier to
    > avoid wasting CPU time and to avoid unresponsiveness.
    >
    > This patch adds a mechanism for tracking consecutive ineffective GCs.
    > A GC is considered ineffective if the heap size after the GC is still
    > close to the heap limit and if the average mutator utilization dropped
    > below a fixed threshold.
    >
    > V8 execution is aborted after four consecutive ineffective GCs.
    >
    > Bug: chromium:824214
    
    TBR: hpayer@chromium.org
    Change-Id: Ib09d24d6280078ce6c33519309a2563c70fb68e1
    Reviewed-on: https://chromium-review.googlesource.com/980555Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
    Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#52286}
    2e8b3996
flag-definitions.h 61.5 KB