-
Ulan Degenbaev authored
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 Change-Id: I647032707d49e5383e1317c5e7616dd57077ea32 Reviewed-on: https://chromium-review.googlesource.com/978178 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Cr-Commit-Position: refs/heads/master@{#52244}
496d0596