Abstract
This paper describes GBURG, which generates tiny, fast code generators based on finite-state machine pattern matching. The code generators translate postfix intermediate code into machine instructions in one pass (except, of course, for backpatching addresses). A stack-based virtual machine - known as the Lean Virtual Machine (LVM) - tuned for fast code generation is also described. GBURG translates the two-page LVM-to-x86 specification into a code generator that fits entirely in an 8 KB I-cache and that emits x86 code at 3.6 MB/sec on a 266-MHz P6. Our just-in-time code generator translates and executes small benchmarks at speeds within a factor of two of executables derived from the conventional compile-time code generator on which it is based.
| Original language | English (US) |
|---|---|
| Pages (from-to) | 270-280 |
| Number of pages | 11 |
| Journal | SIGPLAN Notices (ACM Special Interest Group on Programming Languages) |
| Volume | 34 |
| Issue number | 5 |
| DOIs | |
| State | Published - May 1999 |
| Externally published | Yes |
ASJC Scopus subject areas
- Software
- Computer Graphics and Computer-Aided Design
Fingerprint
Dive into the research topics of 'Finite-state code generation'. Together they form a unique fingerprint.Cite this
- APA
- Standard
- Harvard
- Vancouver
- Author
- BIBTEX
- RIS