Declarative composition of stack frames

8Citations
Citations of this article
6Readers
Mendeley users who have this article in their library.

This article is free to access.

Abstract

When a compiler translates a procedure, it must lay out the procedure's stack frame in a way that respects the calling convention. Many compilers respect the convention either by restricting the order in which slots can be allocated or by using different abstractions ad hoc for allocating in different regions of a frame. Such techniques cause the implementation of the layout to be spread over much of the compiler, making it difficult to maintain and verify. We have concentrated the implementation of layout into a single, unifying abstraction: the block. The block abstraction decouples layout from slot allocation. Stack-frame layout is specified in one central place, and even complex layouts are achieved by composing blocks using only two simple operators. Our implementation is used in the Quick C- compiler to support multiple calling conventions on multiple architectures. © Springer-Verlag 2001.

Cite

CITATION STYLE

APA

Lindig, C., & Ramsey, N. (2004). Declarative composition of stack frames. Lecture Notes in Computer Science (Including Subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 2985, 298–312. https://doi.org/10.1007/978-3-540-24723-4_20

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free