Using MMTk Garbage Collection in GHC (Lightning Talk)
summary
A working MMTk-GHC binding teaches GHC to allocate with MMTk’s bump allocator, adds a Rust closure scanner, and runs a no-GC then IMix non-moving plan; compilation succeeds with a -mmtk flag, cabal builds, and the GHC test suite runs with a majority of GHC tests passing. Current work implements forwarding pointers for a moving plan and a write barrier for generational GC. Hard problems are weak pointer tracing, build integration, and decoupling GHC’s storage manager.
AI-written summary · about
chapters (7)
- 0:00MMTk GC Port in GHC
- 1:28What is MMTk and goals
- 2:31GHC Port development
- 5:44Current state and future
- 6:27Key challenges
- 8:15Acknowledgments and resources
- 8:37Q&A
related talks
01h 03mMMTk and The Case for Modular VM Development
01h 30mGHC's Runtime System
50mAn insight into Go Garbage Collection
41mPinpointing memory leaks in production Haskell deployments
07mLightning Talk Slot #2: An SSA-based Register Allocator for GHC
28mA Mechanically Verified Garbage Collector for OCaml
21mGarbage Collection for Higher Inductive Types
57mWriting a custom, real-world .NET GC
