Guggilla, Satish K. (1994) Generational Garbage Collection of C++ Targeted to SPARC Architectures. Technical Report TR94-11, Department of Computer Science, Iowa State University.
Generational Garbage Collection of C++ Targeted to SPARC Architectures
Satish Kumar Guggilla*
M.S. Creative Component
Dynamic memory management plays a crucial role in the development of large
software systems. Traditional techniques for managing dynamic memory require
the programmer to free an allocated object when it is no longer required.
In addition to posing an intellectual burden on the programmer, this approach
has often proved error-prone. Many bugs in existing software systems
are known to be caused by dynamic memory management errors. Garbage collectors
free the programmer from this intellectual burden by automatically reclaiming
allocated objects that are no longer in use. In systems with garbage
collection, the programmer need not concern himself with releasing objects
no longer in use. Most traditional garbage collectors suspend the
application program during the collection process. Generational
garbage collectors are known to achieve short pause times as they rely
on the observation that most objects die young. They concentrate most
of their efforts in reclaiming recently allocated objects,
occasionally performing a complete collection. In this project, we
have implemented a generational garbage collector for C++ targeted to
SPARC architectures. Our technique imposes only minor restrictions
on the usage of dynamic memory in C++ and runs on stock hardware.
* Portions of this paper were excerpted from "Code Generation
to Support Efficient Accurate Garbage Collection of C++ on Stock
Hardware", a paper currently being prepared for publication
by Kelvin Nilsen, Ravichandran Ganesan, Satish Guggilla, Satish
Kumar, and Kannan Narasimhan.
Contact site administrator at: email@example.com