z-logo
open-access-imgOpen Access
Runtime support for region-based memory management in Mercury
Author(s) -
Quan Phan,
Zoltán Somogyi,
Gerda Janssens
Publication year - 2008
Publication title -
lirias (ku leuven)
Language(s) - English
Resource type - Conference proceedings
DOI - 10.1145/1375634.1375644
Subject(s) - computer science , backtracking , garbage collection , programming language , mercury (programming language) , memory leak , memory management , logic programming , parallel computing , garbage , operating system , overlay
Applying region-based memory management (RBMM) to logic programming languages poses a special challenge: backtracking can require regions removed during forward execution to be ``resurrected'', and any memory allocated during a computation that has been backtracked over must be recovered promptly, without waiting for the regions involved to come to the end of their life.In this paper, we describe how we implemented runtime support for RBMM in the logic programming language Mercury,whose specialized implementation of the language constructs involved in backtracking required equally specialized support.Our benchmark Mercury programs run about 25% faster on average with RBMM than with the usual Boehm garbage collector, and for some programs, RBMM achieves optimal memory consumption.status: publishe

The content you want is available to Zendy users.

Already have an account? Click here to sign in.
Having issues? You can contact us here
Accelerating Research

Address

John Eccles House
Robert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom