Finite-state code generation

Citation
Cw. Fraser et Ta. Proebsting, Finite-state code generation, ACM SIGPL N, 34(5), 1999, pp. 270-280
Citations number
16
Categorie Soggetti
Computer Science & Engineering
Journal title
ACM SIGPLAN NOTICES
ISSN journal
15232867 → ACNP
Volume
34
Issue
5
Year of publication
1999
Pages
270 - 280
Database
ISI
SICI code
1523-2867(199905)34:5<270:FCG>2.0.ZU;2-8
Abstract
This paper describes GBURG, which generates tiny, fast code generators base d on finite-state machine pattern matching. The code generators translate p ostfix 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 desc ribed. GBURG translates the two-page LVM-to-x86 specification into a code g enerator 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 e xecutes small benchmarks at speeds within a factor of two of executables de rived from the conventional compile-time code generator on which it is base d.