nonmoving: Refactor management of concurrent mark thread

Closed Ben Gamari requested to merge wip/gc/refactor-mark-thread into master

Here we refactor that treatment of the worker thread used by the nonmoving GC for concurrent marking, avoiding creating a new thread with every major GC cycle. As well, the new scheme is considerably easier to reason about, consolidating all state in one place, accessed via a small set of accessors with clear semantics.

We also drop a good amount of debugging utilities which were long ago superceded by the gdb extensions in bgamari/ghc-utils>.

Edited by Ben Gamari

Merge request reports