Fil-C's FUGC: A Parallel, Concurrent, and Accurate Garbage Collector
2025-09-05
Fil-C employs FUGC (Fil's Unbelievable Garbage Collector), a parallel concurrent on-the-fly grey-stack Dijkstra accurate non-moving garbage collector. FUGC boasts multi-threaded concurrent marking and sweeping, avoiding stop-the-world pauses through 'soft handshakes' for non-blocking interaction with mutator threads. Its grey-stack approach eliminates load barriers, requiring only a simple store barrier, while Dijkstra barriers ensure accurate marking. FUGC is non-moving, simplifying concurrent implementation and supporting C, Java, and JavaScript-style memory management including finalizers, weak references, and weak maps, drastically improving Fil-C's memory management efficiency and safety.
Development
garbage collector