Data structures and dynamic memory management in reversible languages

Research output: Chapter in Book/Report/Conference proceedingArticle in proceedingsResearchpeer-review

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 Sep 201814 Sep 2018

Conference

Conference10th International Conference on Reversible Computation, RC 2018
LandUnited Kingdom
ByLeicester
Periode12/09/201814/09/2018
SeriesLecture notes in computer science
Volume11106
ISSN0302-9743

ID: 202165974