|
ABSTRACT
This paper introduces superoperators, an optimization technique for bytecoded interpreters. Superoperators are virtual machine operations automatically synthesized from smaller operations to avoid costly per-operation overheads. Superoperators decrease executable size and can double or triple the speed of interpreted programs. The paper describes a simple and effective heuristic for inferring powerful superoperators from the usage patterns of simple operators.The paper describes the design and implementation of a hybrid translator/interpreter that employs superoperators. From a specification of the superoperators (either automatically inferred or manually chosen), the system builds an efficient implementation of the virtual machine in assembly language. The system is easily retargetable and currently runs on the MIPS R3000 and the SPARC.
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.
 |
Bel73
|
|
 |
DG87
|
|
| |
Feu85
|
Alan R. Feuer. si # an interpreter for the C language. In Proceedings of the 1985 Usenix Summer Conference, Portland, OR, June 1985.
|
| |
FH88
|
Anthony J. Field and Peter G. Harrison. Functional Programming. Addison Wesley, 1988.
|
| |
FH91a
|
|
 |
FH91b
|
|
 |
FHP92
|
|
| |
GG90
|
|
| |
GJ79
|
|
| |
KH92
|
|
| |
Kli81
|
Paul t#lint.. Interpretation techniques. |Software--Practice and Experience,#1(10):963-973, October 1981. !
|
| |
KLP88
|
StephenlKaufer, Russell Lopez, and Sesha Pra#ap.# Saber-C: An interpreterbased programming environment for the C language. In Proceedings of the 1988 Usenix Summer Conference, San Francisco, CA, June 1988.
|
 |
Pit87
|
|
| |
Sun91
|
Sun Microsystems, Inc. The SPARC Architec!ure Manual (Version 8), 1991.
|
CITED BY 46
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ben Stephenson , Wade Holst, Multicodes: optimizing virtual machines using bytecode sequences, Companion of the 18th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, October 26-30, 2003, Anaheim, CA, USA
|
|
|
|
|
|
|
|
|
|
|
|
Brian Davis , Andrew Beatty , Kevin Casey , David Gregg , John Waldron, The case for virtual register machines, Proceedings of the 2003 workshop on Interpreters, virtual machines and emulators, p.41-49, June 12-12, 2003, San Diego, California
|
|
|
|
|
|
|
|
|
|
|
|
T. Suganuma , T. Ogasawara , M. Takeuchi , T. Yasue , M. Kawahito , K. Ishizaki , H. Komatsu , T. Nakatani, Overview of the IBM Java just-in-time compiler, IBM Systems Journal, v.39 n.1, p.175-193, January 2000
|
|
|
|
|
|
Ana Azevedo , Arun Kejariwal , Alex Veidenbaum , Alexandru Nicolau, High performance annotation-aware JVM for Java cards, Proceedings of the 5th ACM international conference on Embedded software, September 18-22, 2005, Jersey City, NJ, USA
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Mathew Zaleski , Marc Berndl , Angela Demke Brown, Mixed mode execution with context threading, Proceedings of the 2005 conference of the Centre for Advanced Studies on Collaborative research, p.305-319, October 17-20, 2005, Toranto, Ontario, Canada
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Guido Araujo , Paulo Centoducatte , Mario Cartes , Ricardo Pannain, Code compression based on operand factorization, Proceedings of the 31st annual ACM/IEEE international symposium on Microarchitecture, p.194-201, November 1998, Dallas, Texas, United States
|
|
|
Geoff A. Cohen , Jeffrey S. Chase , David L. Kaminsky, Automatic program transformation with JOIE, Proceedings of the Annual Technical Conference on USENIX Annual Technical Conference, 1998, p.14-14, June 15-19, 1998, New Orleans, Louisiana
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Carmen Badea , Alexandru Nicolau , Alexander V. Veidenbaum, A simplified java bytecode compilation system for resource-constrained embedded processors, Proceedings of the 2007 international conference on Compilers, architecture, and synthesis for embedded systems, September 30-October 03, 2007, Salzburg, Austria
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|