Design of the opportunistic garbage collector

PR Wilson, TG Moher - Conference proceedings on Object-oriented …, 1989 - dl.acm.org
PR Wilson, TG Moher
Conference proceedings on Object-oriented programming systems, languages and …, 1989dl.acm.org
The Opportunistic Garbage Collector (OGC) is a generational garbage collector for stock
hardware and operating systems. While incorporating important features of previous
systems, the OGC includes several innovations. A new bucket brigade heap organization
supports advancement thresholds between one and two scavenges, using only two or three
spaces per generation, and without requiring per-object counts. Opportunistic scavenging
decouples scavenging from the filling of available memory, in order to hide potentially …
The Opportunistic Garbage Collector (OGC) is a generational garbage collector for stock hardware and operating systems. While incorporating important features of previous systems, the OGC includes several innovations. A new bucket brigade heap organization supports advancement thresholds between one and two scavenges, using only two or three spaces per generation, and without requiring per-object counts. Opportunistic scavenging decouples scavenging from the filling of available memory, in order to hide potentially disruptive scavenge pauses and improve efficiency. Card marking efficiently records which small areas of the heap may contain pointers into younger generations, and is supported by a refinement of the crossing map technique, to enable scanning of arbitrary cards.
ACM Digital Library