Description[heap] Add page evacuation mode for new->new
Adds an evacuation mode that allows moving pages within new space without
copying objects.
Basic idea:
a) Move page within new space
b) Sweep page to make iterable and process ArrayBuffers
c) Finish sweep till next scavenge
Threshold is currently 70% live bytes, i.e., the same threshold we use
to determine fragmented pages.
BUG=chromium:581412
LOG=N
CQ_EXTRA_TRYBOTS=tryserver.v8:v8_linux_arm64_gc_stress_dbg,v8_linux_gc_stress_dbg,v8_mac_gc_stress_dbg,v8_linux64_tsan_rel,v8_mac64_asan_rel
Committed: https://crrev.com/49b23201671b25092a3c22eb85783f39b95a5f87
Cr-Commit-Position: refs/heads/master@{#36990}
Patch Set 1 #Patch Set 2 : Unifications #Patch Set 3 : Added tests #Patch Set 4 : rebase #Patch Set 5 : Finish sweeping newspace before scavenger #Patch Set 6 : #Patch Set 7 : #Patch Set 8 : Rebase and fix testing #Patch Set 9 : Fixes #Patch Set 10 : Fix to space updates #Patch Set 11 : More fixes #Patch Set 12 : Log contains_age_mark #Patch Set 13 : rebase after fix #
Total comments: 3
Patch Set 14 : rebase after sweeper fix on ToT #
Total comments: 12
Patch Set 15 : Addressed comments #
Total comments: 2
Patch Set 16 : Rebalance instead of replace #
Total comments: 2
Patch Set 17 : Addressed comments #Patch Set 18 : Switch threshold flag back to 70 #
Messages
Total messages: 36 (19 generated)
|