We propose the use of generations with modern reference counting. A reference counting collector is well suited to collect the old generation, containing a large fraction of live objects that are modified infrequently. Such a collector can be combined with a tracing collector to collect the young generation, typically containing a small fraction of live objects. We have designed such a collector appropriate for running on a multiprocessor. As our building blocks, we used the sliding-views on-the-fly collectors. We have implemented the new collector on the Jikes Research Java Virtual Machine (Jikes RVM) and compared it with the concurrent reference counting collector supplied with the Jikes RVM package. Our measurements demonstrate short pause times, retaining those of the original on-the-fly collectors and a gain in application throughput time. It turns out that a modern reference counting collector may benefit from the use of generations. Copyright © 2006 John Wiley & Sons, Ltd.
Mendeley helps you to discover research relevant for your work.
CITATION STYLE
Azatchi, H., & Petrank, E. (2006). Integrating generations with advanced reference counting garbage collectors. Concurrency and Computation: Practice and Experience, 18(9), 959–995. https://doi.org/10.1002/cpe.1005