Orinoco: Young Generation Garbage Collection

· Source ↗

TLDR

  • V8’s Orinoco GC project details how young-generation (minor) garbage collection works inside the JavaScript engine powering Chrome and Node.js.

Key Takeaways

  • Orinoco is V8’s ongoing GC overhaul; young generation collection targets newly allocated, short-lived objects using a semi-space scavenger.
  • The generational hypothesis drives the design: most JS objects die young, so collecting them separately avoids scanning the full heap on every cycle.
  • Young gen is split into from-space and to-space; live objects are copied (evacuated) to to-space, dead objects are implicitly reclaimed by pointer bump reset.
  • Orinoco introduced parallel and concurrent techniques to shrink main-thread pause times during scavenges, a key source of jank in interactive apps.
  • Escaped objects are promoted to old generation, feeding into the major GC cycle where tracing costs more.

Hacker News Comment Review

  • No substantive HN discussion yet.

Original | Discuss on HN