Hostname: page-component-7b7567c8c-7pwfn Total loading time: 0 Render date: 2026-11-12T09:25:21.311Z Has data issue: false hasContentIssue false

Incremental copying garbage collection for WAM-based Prolog systems

Published online by Cambridge University Press:  01 September 2007

RUBEN VANDEGINSTE
Affiliation:
Department of Computer Science, K.U.Leuven, Belgium (e-mail: ruben@cs.kuleuven.ac.be, bmd@cs.kuleuven.ac.be)
BART DEMOEN
Affiliation:
Department of Computer Science, K.U.Leuven, Belgium (e-mail: ruben@cs.kuleuven.ac.be, bmd@cs.kuleuven.ac.be)
Rights & Permissions [Opens in a new window]

Abstract

Core share and HTML view are not available for this content. However, as you have access to this content, a full PDF is available via the 'Save PDF' action button.

The design and implementation of an incremental copying heap garbage collector for WAM-based Prolog systems is presented. Its heap layout consists of a number of equal-sized blocks. Other changes to the standard WAM allow these blocks to be garbage collected independently. The independent collection of heap blocks forms the basis of an incremental collecting algorithm which employs copying without marking (contrary to the more frequently used mark© or mark&slide algorithms in the context of Prolog). Compared to standard semi-space copying collectors, this approach to heap garbage collection lowers in many cases the memory usage and reduces pause times. The algorithm also allows for a wide variety of garbage collection policies including generational ones. The algorithm is implemented and evaluated in the context of hProlog.

Information

Type
Regular Papers
Copyright
Copyright © Cambridge University Press 2007