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/set 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 | 270-280 |
Number of pages | 11 |
State | Published - 1999 |
Externally published | Yes |
Event | ACM SIGPLAN Conference on Programming Language Design and Implementation - San Diego, CA, United States Duration: Jun 9 2003 → Jun 11 2003 |
Conference
Conference | ACM SIGPLAN Conference on Programming Language Design and Implementation |
---|---|
Country/Territory | United States |
City | San Diego, CA |
Period | 6/9/03 → 6/11/03 |
ASJC Scopus subject areas
- Software