Contaminated garbage collection

We describe a new method for determining when an object can begarbage collected. The method does not require marking live objects. Instead, each object <italic>X</italic> is <italic>dynamically</italic>associated with a stack frame <italic>M</italic>, such that <italic>X</ital ic>is collectable when <italic>M</italic> pops. Because <italic>X</italic> could have been dead earlier, our method is conservative. Our results demonstrate that the method nonetheless identifies a large percentage of collectable objects. The method has been implemented in Sun's Java Virtual Machine interpreter, and results are presented based on this implementation

[1]  Wilson C. Hsieh,et al.  The need for predictable gc , 1999 .

[2]  David S. Munro,et al.  Garbage collecting the world: one car at a time , 1997, OOPSLA '97.

[3]  Mads Tofte,et al.  Implementation of the typed call-by-value λ-calculus using a stack of regions , 1994, POPL '94.

[4]  Frédéric Vivien,et al.  Incrementalized pointer and escape analysis , 2001, PLDI '01.

[5]  Frank Yellin,et al.  The Java Virtual Machine Specification , 1996 .

[6]  Troy Downing,et al.  Java Virtual Machine , 1997 .

[7]  Andrew W. Appel,et al.  Empirical and Analytic Study of Stack Versus Heap Cost for Languages with Closures , 1996, J. Funct. Program..

[8]  Paul R. Wilson,et al.  Dynamic Storage Allocation: A Survey and Critical Review , 1995, IWMM.

[9]  J. Boehm Space Eecient Conservative Garbage Collection , 1993 .

[10]  Alfred V. Aho,et al.  Compilers: Principles, Techniques, and Tools , 1986, Addison-Wesley series in computer science / World student series edition.

[11]  Ken Arnold,et al.  The Java Programming Language , 1996 .

[12]  Kwangkeun Yi,et al.  Interprocedural Data Flow Analysis for Compile-time Memory Management , 1992 .

[13]  Steffen Grarup,et al.  Incremental Mature Garbage Collection Using the Train Algorithm , 1995, ECOOP.

[14]  Paul R. Wilson,et al.  Uniprocessor Garbage Collection Techniques , 1992, IWMM.

[15]  Darko Stefanovic,et al.  Properties of age-based automatic memory reclamation algorithms , 1999 .

[16]  Andrew W. Appel,et al.  Simple generational garbage collection and fast allocation , 1989, Softw. Pract. Exp..

[17]  Mads Tofte A brief introduction to regions , 1998, ISMM '98.

[18]  Thomas P. Murtagh,et al.  Lifetime analysis of dynamically allocated objects , 1988, POPL '88.

[19]  James R. Larus,et al.  Using generational garbage collection to implement cache-conscious data placement , 1998, ISMM '98.

[20]  Ken Kennedy,et al.  Garbage collection and other optimizations , 1988 .