School of Computing

Decrypting the Java gene pool: Predicting objects' lifetimes with micro-patterns

Sebastien Marion, Richard Jones, and Chris Ryder

In International Symposium on Memory Management (ISMM07), pages 182-196, Montreal, Canada, October 2007. ACM.


Pretenuring long-lived and immortal objects into infrequently or never collected regions reduces garbage collection costs significantly. However, extant approaches either require computationally expensive, application-specific, off-line profiling, or consider only allocation sites common to all programs, i.e. invoked by the virtual machine rather than application programs. In contrast, we show how a simple program analysis, combined with an object lifetime knowledge bank, can be exploited to match both runtime system and application program structure with object lifetimes. The complexity of the analysis is linear in the size of the program, so need not be run ahead of time. We obtain performance gains between 6-77% in GC time against a generational copying collector for several SPEC jvm98 programs.

Download publication 182 kbytes (PDF)

Bibtex Record

author = {Sebastien Marion and Richard Jones and Chris Ryder},
title = {Decrypting The {J}ava Gene Pool: Predicting Objects' Lifetimes with Micro-patterns},
month = {October},
year = {2007},
pages = {182-196},
keywords = {determinacy analysis, Craig interpolants},
note = {},
doi = {},
url = {},
    publication_type = {inproceedings},
    submission_id = {9912_1187197987},
    address = {Montreal, Canada},
    publisher = {ACM},
    refereed = {yes},
    booktitle = {International Symposium on Memory Management (ISMM07)},

School of Computing, University of Kent, Canterbury, Kent, CT2 7NF

Enquiries: +44 (0)1227 824180 or contact us.

Last Updated: 21/03/2014