Data structures and dynamic memory management in reversible languages

Martin Holm Cservenka, Robert Glück, Tue Haulund, Torben Ægidius Mogensen

3 Citations (Scopus)

Abstract

We present a method for reversible dynamic memory management based on a reversible version of the Buddy Memory system. This method supports decoupled allocation and deallocation of variable-sized records and can be applied to any reversible language with heap storage. We demonstrate how these new capabilities allow for the direct realization of commonplace data structures such as trees, heaps and queues which until now has not been practical in a reversible language. Finally, we provide a definition of our method in the high-level reversible language Janus as well as a description of its fragmentation and garbage-generation characteristics. The reversible memory management system has been fully implemented and tested in a compiler for a reversible object-oriented programming language targeting the reversible assembly language PISA.

Original languageEnglish
Title of host publicationReversible Computation : 10th International Conference, RC 2018, 2018, Proceedings
EditorsJarkko Kari, Irek Ulidowski
PublisherSpringer
Publication date2018
Pages269-285
ISBN (Electronic)978-3-319-59936-6
DOIs
Publication statusPublished - 2018
Event10th International Conference on Reversible Computation, RC 2018 - Leicester, United Kingdom
Duration: 12 Sept 201814 Sept 2018

Conference

Conference10th International Conference on Reversible Computation, RC 2018
Country/TerritoryUnited Kingdom
CityLeicester
Period12/09/201814/09/2018
SeriesLecture notes in computer science
Volume11106
ISSN0302-9743

Fingerprint

Dive into the research topics of 'Data structures and dynamic memory management in reversible languages'. Together they form a unique fingerprint.

Cite this