Casey, Kevin and Ertl, Anton and Gregg, David
(2005)
Optimizations for a Java Interpreter Using Instruction Set
Enhancement.
Technical Report.
Department of Computer Science, University of Dublin, Trinity College, Technical Report TCD-CS-2005-61.
Abstract
Several methods for optimizing Java interpreters have been proposed that involve augmenting the existing instruction set. In this paper we describe the design and implementation of three such optimizations for an efficient Java interpreter. Specialized instructions are new versions of existing instructions with commonly occurring operands hardwired into them, which reduces operand fetching. Superinstructions are new Java instructions which perform the work of common sequences of instructions. Finally, instruction replication is the duplication of existing instructions with a view to improving branch prediction accuracy. We describe our basic interpreter, the interpreter generator we use to automatically create optimised source code for enhanced instructions, and discuss Java specific issues relating to these optimizations. Experimental results show significant speedups (up to a factor of 3.3, and realistic average speedups of 30%-35%) are attainable using these techniques.
Item Type: |
Monograph
(Technical Report)
|
Keywords: |
interpreter; virtual machine; Java; |
Academic Unit: |
Faculty of Science and Engineering > Research Institutes > Hamilton Institute |
Item ID: |
10189 |
Depositing User: |
Hamilton Editor
|
Date Deposited: |
08 Nov 2018 14:59 |
Publisher: |
Department of Computer Science, University of Dublin, Trinity College, Technical Report TCD-CS-2005-61 |
Refereed: |
Yes |
URI: |
|
Use Licence: |
This item is available under a Creative Commons Attribution Non Commercial Share Alike Licence (CC BY-NC-SA). Details of this licence are available
here |
Repository Staff Only(login required)
|
Item control page |
Downloads per month over past year
Origin of downloads