Sciweavers

CC
2000
Springer

Pipelined Java Virtual Machine Interpreters

13 years 4 months ago
Pipelined Java Virtual Machine Interpreters
The performance of a Java Virtual Machine (JVM) interpreter running on a very long instruction word (VLIW) processor can be improved by means of pipelining. While one bytecode is in its execute stage, the next bytecode is in its decode stage, and the next bytecode is in its fetch stage. The paper describes how we implemented threading and pipelining by rewriting the source code of the interpreter and several modifications in the compiler. Experiments for evaluating the effectiveness of pipelining are described. Pipelining improves the execution speed of a threaded interpreter by 19.4% in terms of instruction count and 14.4% in terms of cycle count. Most of the simple bytecodes, like additions and multiplications, execute in four cycles. This number corresponds to the branch latency of our target VLIW processor. Thus most of the code of the interpreter is executed in branch delay slots.
Jan Hoogerbrugge, Lex Augusteijn
Added 17 Dec 2010
Updated 17 Dec 2010
Type Journal
Year 2000
Where CC
Authors Jan Hoogerbrugge, Lex Augusteijn
Comments (0)