An exact, tracing, non-moving, unobtrusive concurrent garbage collector.
This library is an implementation of the Ueno-Ohori concurrent garbage collector, as described in the ICFP'16 paper by aforementioned.
It itself is an adaptation of a previous non-copying garbage collector of theirs to a concurrent setting.
TODO: how to allocate + use objects. TODO: details of how to become traced. TODO: details on how to enter/exit GC contexts in each thread.
TODO: describe the internal data structures TODO: heap overhead, asymptotically and in practice.
This rule implements the trace method.
This rule implements the trace methods with empty implementations.
A garbage-collected heap. See the module-level docs for more information about the garbage collection algorithm.
Thread-local state for using a particular
The Finalize trait. Can be specialized for a specific type to define finalization logic for that type.
The Trace trait, which needs to be implemented on garbage-collected objects.