[][src]Crate incinerator

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.

Using

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.

Internals and overhead

TODO: describe the internal data structures TODO: heap overhead, asymptotically and in practice.

Macros

custom_trace

This rule implements the trace method.

unsafe_empty_trace

This rule implements the trace methods with empty implementations.

Structs

GcRoot
Heap

A garbage-collected heap. See the module-level docs for more information about the garbage collection algorithm.

HeapRegistration

Thread-local state for using a particular Heap.

Enums

MetricEvent

GC metrics.

Traits

Finalize

The Finalize trait. Can be specialized for a specific type to define finalization logic for that type.

Trace

The Trace trait, which needs to be implemented on garbage-collected objects.