Institutions | About Us | Help | Gaeilge
rian logo

Go Back
Towards Superinstructions for Java Interpreters
Casey, Kevin; Gregg, David; Ertl, Anton; Nisbet, Andy
The Java Virtual Machine (JVM) is usually implemented by an interpreter or just-in-time (JIT) compiler. JITs provide the best performance, but interpreters have a number of advantages that make them attractive, especially for embedded systems. These advantages include simplicity, portability and lower memory requirements. Instruction dispatch is responsible for most of the running time of efficient interpreters, especially on pipelined processors. Superinstructions are an important optimisation to reduce the number of instruction dispatches. A superinstruction is a new Java instruction which performs the work of a common sequence of instructions. In this paper we describe work in progress on the design and implementation of a system of superinstructions for an efficient Java interpreter for connected devices and embedded systems. We describe our basic interpreter, the interpreter generator we use to automatically create optimised source code for superinstructions, and discuss Java specific issues relating to superinstructions. Our initial experimental results show that superinstructions can give large speedups on the SPECjvm98 benchmark suite.
Keyword(s): Embed System; Basic Block; Interpreter Generator; Java Virtual Machine; Program Language Design
Publication Date:
Type: Book chapter
Peer-Reviewed: Yes
Institution: Maynooth University
Citation(s): Casey, Kevin and Gregg, David and Ertl, Anton and Nisbet, Andy (2003) Towards Superinstructions for Java Interpreters. In: Software and Compilers for Embedded Systems. Lecture Notes in Computer Science (LNCS) (2826). Springer, pp. 329-343. ISBN 9783540399209
Publisher(s): Springer
File Format(s): other
Related Link(s):
First Indexed: 2018-11-09 06:00:35 Last Updated: 2018-11-09 06:00:35