The last couple years in V8's garbage collector
9 days ago
- #Garbage Collection
- #Memory Management
- #V8
- V8's garbage collector (GC) has seen significant developments over the last couple of years, focusing on memory safety, Oilpan integration, and multi-threading support.
- Memory safety improvements via the sandbox aim to prevent corruption outside the JavaScript heap, using 32-bit and 40-bit offsets to limit addressable memory.
- The Oilpan odyssey involved integrating conservative stack scanning from Blink into V8, with efforts to support generational garbage collection and pinning in the Scavenger nursery.
- Preparation for multiple JavaScript and WebAssembly mutator threads addresses the upcoming shift from single-threaded execution, requiring adjustments for shared-memory multi-threading.
- Side quests include tuning GC heuristics across various platforms and configurations, optimizing mutex usage, and removing third-party heap support like MMTk.
- Future challenges include further developments in shared-memory multi-threading, WebAssembly effect handlers, and enhancements for non-browser environments like Node.js.