v8/test/cctest/heap
Ulan Degenbaev 4c65986a44 [heap] Rework incremental marking scheduling
The new scheduling reduces the main thread marking performed in
tasks and on allocation. It is based on two counters:
- bytes_marked,
- scheduled_bytes_to_mark.

The bytes_marked accounts marking done both the main thread and
the concurrent threads. The scheduled_bytes_to_mark increases based
on allocated bytes and also based on time passed since the start
of marking. The main thread steps are allowed to mark the minimal
amount if bytes_marked is greater than scheduled_bytes_to_mark.

This also changes tasks posted for marking. Before only normal
tasks were posted. Now delayed tasks are posted if the marker is
ahead of schedule.

Bug: 926189

Change-Id: I5bc9c33a5ecfc9f8d09f78d08ae277d16a2779ca
Reviewed-on: https://chromium-review.googlesource.com/c/1443056
Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59433}
2019-02-07 11:40:41 +00:00
..
heap-tester.h [heap] Activate the memory reducer on smaller heaps 2019-01-22 11:14:32 +00:00
heap-utils.cc [heap] Rework incremental marking scheduling 2019-02-07 11:40:41 +00:00
heap-utils.h [api, global-handles] Add TracedGlobal 2019-01-29 20:15:39 +00:00
test-alloc.cc [ubsan] Port HeapObject to the new design 2018-12-20 16:43:49 +00:00
test-array-buffer-tracker.cc [cleanup] Use Page::FromHeapObject where applicable 2019-01-15 01:20:11 +00:00
test-compaction.cc [heap] Fix tests for young large objects 2019-02-07 11:01:20 +00:00
test-concurrent-marking.cc Reland "[heap] Remove bailout marking worklist." 2019-01-18 10:04:17 +00:00
test-embedder-tracing.cc [api,global-handle] Introduce TracedGlobal::SetFinalizationCallback 2019-02-05 21:46:07 +00:00
test-external-string-tracker.cc [cleanup] Use Page::FromHeapObject where applicable 2019-01-15 01:20:11 +00:00
test-heap.cc [heap] Rework incremental marking scheduling 2019-02-07 11:40:41 +00:00
test-incremental-marking.cc [heap] Rework incremental marking scheduling 2019-02-07 11:40:41 +00:00
test-invalidated-slots.cc Reland "Change SetProperty/SetSuperProperty to infer language mode when possible" 2019-01-24 16:57:23 +00:00
test-lab.cc [ubsan] Port HeapObject to the new design 2018-12-20 16:43:49 +00:00
test-mark-compact.cc Reland "Change SetProperty/SetSuperProperty to infer language mode when possible" 2019-01-24 16:57:23 +00:00
test-page-promotion.cc [heap] Fix tests for young large objects 2019-02-07 11:01:20 +00:00
test-spaces.cc [heap] Move the chunk map to CodeLargeObjectSpace. 2019-01-30 14:11:18 +00:00
test-unmapper.cc [cleanup] Mark heap/ methods in subclasses with override. 2018-09-17 15:32:31 +00:00
test-weak-references.cc [assembler] Remove legacy constructor 2019-01-17 12:39:57 +00:00