© University of Kent - Contact | Feedback | Legal
The University of Kent, Canterbury, Kent, CT2 7NZ, T +44 (0)1227 764000
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)
@inproceedings{2596,
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 = {},
keywords = {Garbage collection, Pretenuring, Micro-Patterns, Java},
note = {},
doi = {},
url = {http://www.cs.kent.ac.uk/pubs/2007/2596},
publication_type = {inproceedings},
submission_id = {9912_1187197987},
address = {Montreal, Canada},
publisher = {ACM},
refereed = {yes},
booktitle = {International Symposium on Memory Management (ISMM07)},
}