Reland of "[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.
This reverts commit
bfccd5187ceb21c99feea4538e08ca7aef48b65b.
BUG=chromium:524425
LOG=N
Review URL: https://codereview.chromium.org/
1365743003
Cr-Commit-Position: refs/heads/master@{#30945}