| Finite-state code generation |
| Full text |
Pdf
(1.10 MB)
|
| Source
|
ACM SIGPLAN Notices
archive
Volume 34 , Issue 5 (May 1999)
table of contents
Pages: 270 - 280
Year of Publication: 1999
ISSN:0362-1340
Also published in ...
|
|
Authors
|
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 5, Downloads (12 Months): 40, Citation Count: 3
|
|
|
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.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
 |
AGT89
|
|
 |
ATLLW96
|
Ali-Reza Adl-Tabatabai , Geoff Langdale , Steven Lucco , Robert Wahbe, Efficient and language-independent mobile programs, Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation, p.127-136, May 21-24, 1996, Philadelphia, Pennsylvania, United States
|
 |
DF80
|
|
 |
DF84
|
|
 |
Eng96
|
Dawson R. Engler, VCODE: a retargetable, extensible, very fast dynamic code generation system, Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation, p.160-170, May 21-24, 1996, Philadelphia, Pennsylvania, United States
|
| |
FH95
|
|
 |
FHP92a
|
|
 |
FHP92b
|
|
 |
GG78
|
|
| |
GG83
|
|
 |
HO82
|
|
| |
KR88
|
|
| |
LY97
|
|
 |
PLG88
|
|
 |
Pro95
|
|
| |
PW96
|
|
|