Description[heap] Add more tasks for parallel compaction
- We now compute the number of parallel compaction tasks, depending on the
evacuation candidate list, the number of cores, and some hard limit.
- Free memory is moved over to compaction tasks (up to some limit)
- Moving over memory is done by dividing the free list of a given space up among
other free lists. Since this is potentially slow we limit the maximum amount
of moved memory.
BUG=chromium:524425
LOG=N
Committed: https://crrev.com/0e842418835eea85886a06cf37052895bc8a17db
Cr-Commit-Position: refs/heads/master@{#30886}
Patch Set 1 #Patch Set 2 : Add FreeList::Divide #Patch Set 3 : Some minor simplifications #Patch Set 4 : Compute number of parallel compaction tasks #Patch Set 5 : Turn on parallel compaction #
Total comments: 12
Patch Set 6 : Addressed comments #Patch Set 7 : Fix accounting of memory shared among paged spaces #
Total comments: 3
Patch Set 8 : Base dividing free lists upon new freelist methods #Patch Set 9 : Fix typo #Patch Set 10 : Fix access scopes of new methods #
Total comments: 2
Patch Set 11 : Addressed comments round 2 #
Messages
Total messages: 23 (7 generated)
|