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.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Reference22 articles.
1. Appel Andrew W. 1992. Compiling with Continuations. Cambridge: Cambridge University Press. Appel Andrew W. 1992. Compiling with Continuations. Cambridge: Cambridge University Press.
2. Apple Computer. 2003. Mach-O Runtime Architecture. Apple Computer. 2003. Mach-O Runtime Architecture.
3. Bailey Mark W. 2000. CSDL: Reusable Computing System Descriptions for Retargetable Systems Software. PhD thesis University of Virginia Dept of Computer Science. Bailey Mark W. 2000. CSDL: Reusable Computing System Descriptions for Retargetable Systems Software. PhD thesis University of Virginia Dept of Computer Science.
4. A formal model and specification language for procedure calling conventions
5. Target-sensitive construction of diagnostic programs for procedure calling sequence generators
Cited by
5 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Language design and implementation for the domain of coding conventions;Proceedings of the 2016 ACM SIGPLAN International Conference on Software Language Engineering;2016-10-20
2. Embedding an interpreted language using higher-order functions and types;Journal of Functional Programming;2011-09-29
3. Automatically generating instruction selectors using declarative machine descriptions;ACM SIGPLAN Notices;2010-01-02
4. Automatically generating instruction selectors using declarative machine descriptions;Proceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL '10;2010
5. Building language towers with Ziggurat;Journal of Functional Programming;2008-09