Early Storage Reclamation in a Tracing Garbage Collector

This article presents a novel technique for allowing the early recovery of storage space occupied by garbage data. The idea is similar to that of generational garbage collection, except that heap is partitioned based on a static analysis of data type definitions rather than on the approximate age of...

Full description

Bibliographic Details
Main Author: Timothy Harris
Other Authors: The Pennsylvania State University CiteSeerX Archives
Format: Text
Language:English
Published: 1999
Subjects:
Online Access:http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.36.7380
http://www.cl.cam.ac.uk/users/tlh20/partitioned-gc.ps.gz
Description
Summary:This article presents a novel technique for allowing the early recovery of storage space occupied by garbage data. The idea is similar to that of generational garbage collection, except that heap is partitioned based on a static analysis of data type definitions rather than on the approximate age of allocated objects. A prototype implementation is presented, along with initial results and ideas for future work. 1 Introduction It has been widely acknowledged that the type information present in a program written in a high level language can provide valuable opportunities for improving run-time performance. Examples of this are pervasive. For instance, information gleaned from type analysis allows natural unboxed representations of primitive quantities like integers, even in the presence of polymorphism [Mor95, HU95]. The precision of pointer-aliasing analysis in an imperative language can be improved by considering the types of the pointers involved [App98]. Run-time feedback can help.