In this presentation, I’ll talk about my experience implementing MMTk, a garbage collection (GC) framework, in our Rust-based virtual machines. I’ll go over what GC is and why it’s relevant to good runtime performance, how MMTk works and how it can be used to implement various GC algorithms “for free” in any VM, what the main challenges were for me, as well as some Rust-specific issues. This is half tutorial, half experience report, meant to be helpful to future VM implementers and promote the use of VM-agnostic GC frameworks.