Staged Allocation: A Compositional Technique for Specifying and Implementing Procedure Calling Conventions
by Reuben Olinksy, Christian Lindig, Norman Ramsey

Greg Morrisett, Simon Pyton Jones (Ed.), Conference Record of the 33rd Annual ACM Symposium on Principles of Programming Languages, Pages 409-421, ACM, January 2006.

Digital Library via DOI: 10.1145/1111037.1111073 - Local copy: Download as PDF file.

Abstract

We present staged allocation, a technique for specifying calling conventions by composing tiny allocators called stages. A specification written using staged allocation has a precise, formal semantics, and it can be executed directly inside a compiler. Specifications of nine standard C calling conventions range in size from 15 to 30 lines each. An implementation of staged allocation takes about 250 lines of ML or 650 lines of C++. Each specification can be used not only to help a compiler implement the calling convention but also to generate a test suite.

BibTeX Entry

@inproceedings{olinsky-popl-2006,
    title = "Staged Allocation: A Compositional Technique for Specifying and Implementing Procedure Calling
Conventions",
    author = "Reuben Olinksy and Christian Lindig and Norman Ramsey",
    year = "2006",
    month = jan,
    booktitle = "Conference Record of the 33rd Annual ACM Symposium on Principles of Programming Languages",
    editors = "Greg Morrisett and Simon Pyton Jones",
    location = "Charleston, SC, USA",
    pages = "409--421",
    publisher = "ACM",
    doi = "10.1145/1111037.1111073",
}

Show all publications of the Software Engineering Chair.