Fil's Unbelievable Garbage Collector
6 days ago
- #Memory Management
- #Garbage Collection
- #Parallel Computing
- FUGC is a parallel, concurrent, on-the-fly, grey-stack Dijkstra accurate non-moving garbage collector.
- Features include parallel marking/sweeping, concurrent operation with mutator threads, and on-the-fly collection without global stop-the-world pauses.
- Uses grey-stack approach for rescanning thread stacks, Dijkstra store barriers, and accurate pointer tracking.
- Non-moving collector with advancing wavefront and incremental update properties.
- Relies on safepoints, soft handshakes, and pollchecks for thread coordination and accurate GC.
- Supports free operations, finalizers, weak references, and weak maps similar to Java and JavaScript.
- Ensures strong guarantees on misuse of free operations, including trapping on access after free.