[sgen] Parallel major blocks precleaning
authorVlad Brezae <brezaevlad@gmail.com>
Tue, 31 May 2016 21:45:19 +0000 (00:45 +0300)
committerVlad Brezae <brezaevlad@gmail.com>
Thu, 19 Jan 2017 22:45:09 +0000 (00:45 +0200)
commitc8b5a33e5c3af051e878e162afc7acaa36057a2f
tree45c56d0ca3bd011fe896bebbdeccd9dd993bb802
parent0a29510f23c60382c0f2cb1c9d96d67027609a3b
[sgen] Parallel major blocks precleaning

We allow spliting a major_scan_cardtable into multiple smaller jobs. For precleaning, we enqueue num_workers precleaning jobs, each one precleaning one in every num_workers blocks from the list.
mono/sgen/sgen-cardtable.c
mono/sgen/sgen-gc.c
mono/sgen/sgen-gc.h
mono/sgen/sgen-marksweep.c
mono/sgen/sgen-workers.c
mono/sgen/sgen-workers.h