Publication Details
Title: A Customisable Memory Management Framework
Author: G. Attardi and T. Flagella
Group: ICSI Technical Reports
Date: February 1994
PDF: ftp://ftp.icsi.berkeley.edu/pub/techreports/1994/tr-94-010.pdf
Overview:
Memory management is a critical issue for many large object-oriented applications, but in C++ only explicit memory reclamation through the 'delete' operator is generally available. We analyse different possibilities for memory management in C++ and present a dynamic memory management framework which can be customised to the need of specific applications. The framework allows full integration and coexistence of different memory management techniques. The Customisable Memory Management (CMM) is based on a "primary collector" which exploits an evolution of Bartlett's mostly copying garbage collector. Specialised collectors can be built for separate memory heaps. A 'Heap' class encapsulates the allocation strategy for each heap. We show how to emulate different garbage collection styles or user-specific memory management techniques. The CMM is implemented in C++ without any special support in the language or the compiler. The techniques used in the CMM are general enough to be applicable also to other languages. Keywords: memory management, garbage collection, programming languages, C++
Bibliographic Information:
ICSI Technical Report TR-94-010
Bibliographic Reference:
G. Attardi and T. Flagella. A Customisable Memory Management Framework. ICSI Technical Report TR-94-010, February 1994
Author: G. Attardi and T. Flagella
Group: ICSI Technical Reports
Date: February 1994
PDF: ftp://ftp.icsi.berkeley.edu/pub/techreports/1994/tr-94-010.pdf
Overview:
Memory management is a critical issue for many large object-oriented applications, but in C++ only explicit memory reclamation through the 'delete' operator is generally available. We analyse different possibilities for memory management in C++ and present a dynamic memory management framework which can be customised to the need of specific applications. The framework allows full integration and coexistence of different memory management techniques. The Customisable Memory Management (CMM) is based on a "primary collector" which exploits an evolution of Bartlett's mostly copying garbage collector. Specialised collectors can be built for separate memory heaps. A 'Heap' class encapsulates the allocation strategy for each heap. We show how to emulate different garbage collection styles or user-specific memory management techniques. The CMM is implemented in C++ without any special support in the language or the compiler. The techniques used in the CMM are general enough to be applicable also to other languages. Keywords: memory management, garbage collection, programming languages, C++
Bibliographic Information:
ICSI Technical Report TR-94-010
Bibliographic Reference:
G. Attardi and T. Flagella. A Customisable Memory Management Framework. ICSI Technical Report TR-94-010, February 1994
