📝§ Garbage collectionShadow stack—can be used to track GC rootsServo uses Rust lints to ensure all GC pointers are rootedServo’s GC types are only safe because GC is conservativemprotect to implement a write barrier (GC)A generational GC can skip scanning an old generation if it is known to not contain references to newer generationsIf objects are immutable, older memory can never point to the newly-allocated memoryConservative GC can relocate objects if their pointer does not occur on stackGC only helps with memory but not other resourcesDebugging tipsUsing mprotect none to catch GC bugsRun GC as often as possible to test it and catch bugsBacklinksShadow stackResource management