Code selection through object code optimization
ACM Transactions on Programming Languages and Systems (TOPLAS) - Lecture notes in computer science Vol. 174
Optimal code generation for expression trees: an application BURS theory
POPL '88 Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Code generation using tree matching and dynamic programming
ACM Transactions on Programming Languages and Systems (TOPLAS)
The C programming language
BURG: fast optimal instruction selection and tree parsing
ACM SIGPLAN Notices
Engineering a simple, efficient code-generator generator
ACM Letters on Programming Languages and Systems (LOPLAS)
ACM Transactions on Programming Languages and Systems (TOPLAS)
Efficient and language-independent mobile programs
PLDI '96 Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation
VCODE: a retargetable, extensible, very fast dynamic code generation system
PLDI '96 Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation
Journal of the ACM (JACM)
The Design and Application of a Retargetable Peephole Optimizer
ACM Transactions on Programming Languages and Systems (TOPLAS)
A new method for compiler code generation
POPL '78 Proceedings of the 5th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Java Virtual Machine Specification
Java Virtual Machine Specification
A Retargetable C Compiler: Design and Implementation
A Retargetable C Compiler: Design and Implementation
ICON Programmng Language
One-Pass, Optimal Tree Parsing - With Or Without Trees
CC '96 Proceedings of the 6th International Conference on Compiler Construction
A study of CodePack: optimizing embedded code space
Proceedings of the tenth international symposium on Hardware/software codesign
A brief history of just-in-time
ACM Computing Surveys (CSUR)
Code generation for just-in-time compiled mobile collector agents
VIP '02 Selected papers from the 2002 Pan-Sydney workshop on Visualisation - Volume 22
Hi-index | 0.00 |
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.