The C programming language
A portable global optimizer and linker
PLDI '88 Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation
The C programming language
Methods for saving and restoring register values across function calls
Software—Practice & Experience
MIPS RISC architectures
Detecting pipeline structural hazards quickly
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The advantages of machine-dependent global optimization
Proceedings of the international conference on Programming languages and system architectures
Employing finite automata for resource scheduling
MICRO 26 Proceedings of the 26th annual international symposium on Microarchitecture
Automatic generation of efficient lexical processors using finite state techniques
Communications of the ACM
Introduction To Automata Theory, Languages, And Computation
Introduction To Automata Theory, Languages, And Computation
A Formal Model for Procedure Calling Conventions
A Formal Model for Procedure Calling Conventions
A Formal Specification for Procedure Calling Conventions
A Formal Specification for Procedure Calling Conventions
EEL: machine-independent executable editing
PLDI '95 Proceedings of the ACM SIGPLAN 1995 conference on Programming language design and implementation
Target-sensitive construction of diagnostic programs for procedure calling sequence generators
PLDI '96 Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation
Flexible representation analysis
ICFP '97 Proceedings of the second ACM SIGPLAN international conference on Functional programming
Teapot: A Domain-Specific Language for Writing Cache Coherence Protocols
IEEE Transactions on Software Engineering
Automatic Detection and Diagnosis of Faults in Generated Code for Procedure Calls
IEEE Transactions on Software Engineering
Stack-based typed assembly language
Journal of Functional Programming
Automatic translation of software binaries onto FPGAs
Proceedings of the 41st annual Design Automation Conference
An architecture a day keeps the hacker away
ACM SIGARCH Computer Architecture News - Special issue: Workshop on architectural support for security and anti-virus (WASSA)
Random testing of C calling conventions
Proceedings of the sixth international symposium on Automated analysis-driven debugging
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Automatic extraction of function bodies from software binaries
Proceedings of the 2005 Asia and South Pacific Design Automation Conference
Experience with a language for writing coherence protocols
DSL'97 Proceedings of the Conference on Domain-Specific Languages on Conference on Domain-Specific Languages (DSL), 1997
An overview of a compiler for mapping software binaries to hardware
IEEE Transactions on Very Large Scale Integration (VLSI) Systems
Calling variadic functions from a strongly-typed language
Proceedings of the 2008 ACM SIGPLAN workshop on ML
Processor Description Languages
Processor Description Languages
Experience in the design, implementation and use of a retargetable static binary translation framework
Hi-index | 0.00 |
Procedure calling conventions are used to provide uniform procedure-call interfaces. Applications, such as compilers and debuggers, which generate, or process procedures at the machine-language abstraction level require knowledge of the calling convention. In this paper, we develop a formal model for procedure calling conventions called P-FSA's. Using this model, we are able to ensure several completeness and consistency properties of calling conventions. Currently, applications that manipulate procedures implement conventions in an ad-hoc manner. The resulting code is complicated with details, difficult to maintain, and often riddled with errors. To alleviate the situation, we introduce a calling convention specification language, called CCL. The combination of CCL and P-FSA's facilitates the accurate specification of conventions that can be shown to be both consistent and complete.