A compacting garbage collector for unidirectional heaps

  • Kent Boortz
  • Dan Sahlin
Conference paper

DOI: 10.1007/BFb0055441

Part of the Lecture Notes in Computer Science book series (LNCS, volume 1467)
Cite this paper as:
Boortz K., Sahlin D. (1998) A compacting garbage collector for unidirectional heaps. In: Clack C., Hammond K., Davie T. (eds) Implementation of Functional Languages. IFL 1997. Lecture Notes in Computer Science, vol 1467. Springer, Berlin, Heidelberg

Abstract

A unidirectional heap is a heap where all pointers go in one direction, e.g. from newer to older objects. For a strict functional language, such as Erlang, the heap may be arranged so that it is unidirectional. We here present a compacting garbage collection algorithm which utilizes the fact that a heap is unidirectional.

Only one memory space is used in our algorithm. In fact, no extra memory is used at all, not even any reserved bits within the cells. The algorithm is quite easy to extend to a variant of generational garbage collection.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Copyright information

© Springer-Verlag 1998

Authors and Affiliations

  • Kent Boortz
    • 1
  • Dan Sahlin
    • 2
  1. 1.Erlang SystemsEricsson Software TechnologySweden
  2. 2.Computer Science LaboratoryEricsson TelecomSweden

Personalised recommendations