[sgen] Split up concurrent sweep from worker logic
authorVlad Brezae <brezaevlad@gmail.com>
Wed, 29 Mar 2017 11:17:02 +0000 (14:17 +0300)
committerVlad Brezae <brezaevlad@gmail.com>
Tue, 4 Apr 2017 13:00:06 +0000 (16:00 +0300)
commitb388646ad012fdc0af6206ce1fad230fba5976d3
treec88cee8154d244edfad5a3f01c90e4ba01f83f1d
parent5d80d08b8c2327752d9b68ba0c4723ce9a76a40e
[sgen] Split up concurrent sweep from worker logic

While this was ok because workers and sweep could not run at the same time, this is no longer the case with parallel nursery collections. In the future, if many threads will be required for different types of jobs, we can consider running them on same native thread, but the jobs will still need to have appropriate contexts (the SgenThreadPool they belong to).
mono/metadata/sgen-mono.c
mono/metadata/sgen-stw.c
mono/sgen/sgen-gc.c
mono/sgen/sgen-gc.h
mono/sgen/sgen-marksweep.c
mono/sgen/sgen-memory-governor.c
mono/sgen/sgen-protocol.c
mono/sgen/sgen-thread-pool.c
mono/sgen/sgen-thread-pool.h
mono/sgen/sgen-workers.c
mono/sgen/sgen-workers.h