2007 Articles
Code Generation in the Columbia Esterel Compiler
The synchronous language Esterel provides deterministic concurrency by adopting a semantics in which threads march in step with a global clock and communicate in a very disciplined way. Its expressive power comes at a cost, however: it is a difficult language to compile into machine code for standard von Neumann processors. The open-source Columbia Esterel Compiler is a research vehicle for experimenting with new code generation techniques for the language. Providing a front-end and a fairly generic concurrent intermediate representation, a variety of back-ends have been developed. We present three of the most mature ones, which are based on program dependence graphs, dynamic lists, and a virtual machine. After describing the very different algorithms used in each of these techniques, we present experimental results that compares twenty-four benchmarks generated by eight different compilation techniques running on seven different processors.
Subjects
Files
- edwards2007code.pdf application/pdf 1.4 MB Download File
Also Published In
- Title
- EURASIP Journal on Embedded Systems
- DOI
- https://doi.org/10.1155/2007/52651
More About This Work
- Academic Units
- Computer Science
- Published Here
- September 22, 2011