v8/test/cctest/heap
Ulan Degenbaev 496d05967c [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
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}
2018-03-27 13:08:36 +00:00
..
heap-tester.h [heap] Add regression test for 791582. 2017-12-06 16:19:26 +00:00
heap-utils.cc [heap] Refactor and clean-up runtime allocation. 2018-01-09 09:51:21 +00:00
heap-utils.h [heap] Exclude the owner of the linear allocation area from evacuation. 2016-11-03 12:13:23 +00:00
test-alloc.cc [Memory] Rewrite platform OS Commit / Uncommit in terms of permissions. 2017-11-21 16:48:55 +00:00
test-array-buffer-tracker.cc Dispose isolate at end of UNINITIALIZED_TEST 2017-10-04 16:21:09 +00:00
test-compaction.cc [heap] Re-enable parallel marking 2017-11-20 13:03:03 +00:00
test-concurrent-marking.cc Reland "Introduce ConcurrentMarking::StopRequest API." 2018-02-19 14:46:44 +00:00
test-embedder-tracing.cc [heap] Increase test coverage for embedder tracing 2017-12-07 14:11:51 +00:00
test-heap.cc [heap] Detect ineffective GCs near the heap limit. 2018-03-27 13:08:36 +00:00
test-incremental-marking.cc [V8 Platform] Make CallOnWorkerThread use std::unique_ptr 2018-03-26 17:43:22 +00:00
test-invalidated-slots.cc [test] Add stress_incremental_marking testing variant 2017-10-05 13:10:42 +00:00
test-lab.cc [iwyu] Remove stale TODOs about objects-inl.h inclusion. 2017-10-09 11:14:59 +00:00
test-mark-compact.cc [heap] Refactor and clean-up runtime allocation. 2018-01-09 09:51:21 +00:00
test-page-promotion.cc [heap] Move sweeper to separate file 2017-11-28 09:22:09 +00:00
test-spaces.cc [heap] Move RO_SPACE to beginning of AllocationSpace 2018-03-23 12:32:48 +00:00
test-weak-references.cc [in-place weak refs] Add WeakFixedArray (an array of in-place weak references). 2018-03-12 11:48:21 +00:00