2019 Volume 27 Pages 479-488
This paper proposes a new garbage-collection (GC) algorithm, named buffered garbage collection. It allows customizing a garbage collector through computational self-reflection. Although self-reflection seems a promising approach, self-reflection has not been well investigated for garbage collection as far as we know. Our buffered garbage collector collects garbage objects while avoiding both infinite regression and unacceptable memory consumption. We implemented a Scheme-subset interpreter supporting buffered garbage collection and evaluated its memory efficiency.