ACM Home Page
Please provide us with feedback. Feedback
Digital Library logoTake a look at the new version of this page: [ beta version ]. Tell us what you think.
Implementing fast JVM interpreters using Java itself
Full text PdfPdf (741 KB)
Source PPPJ; Vol. 272 archive
Proceedings of the 5th international symposium on Principles and practice of programming in Java table of contents
Lisboa, Portugal
SESSION: Virtual machines and compilation table of contents
Pages: 145 - 154  
Year of Publication: 2007
ISBN:978-1-59593-672-1
Authors
Michael Bebenita  University of California, Irvine, CA
Andreas Gal  University of California, Irvine, CA
Michael Franz  University of California, Irvine, CA
Sponsors
ACM: Association for Computing Machinery
: Câmara Municipal de Palmela
: Almada Camara Municipal
: RidgeSoft
: ParaRede Business Upgrade
: AMD 64 Opteron
: FUNDAÇÃO Luso-Americana
: Sun Microsystems
IBM : IBM
: YDreams
: GFI
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 10,   Downloads (12 Months): 114,   Citation Count: 0
Additional Information:

abstract   references   index terms   collaborative colleagues  

Tools and Actions: Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1294325.1294345
What is a DOI?

ABSTRACT

Most Java Virtual Machines (JVMs) are themselves written in unsafe languages, making it unduly difficult to build trustworthy and safe JVM platforms. While some progress has been made on removing compilers from the trusted computing base (using certifying compilation), JVM interpreters continue to be built almost exclusively in C/C++. We have implemented an alternative approach, in which the JVM interpreter itself is built in Java, and runs atop a host JVM execution environment. Despite benefiting from the additional safety guarantees of the JVM runtime system, the execution overhead of our nested Java interpreter is quite acceptable in practice. Our results suggest that implementors should concentrate their efforts on optimizing just-in-time compilers rather than on interpreters. If a mixed-mode VM environment is desired, a generic JVM interpreter can subsequently be created using Java itself.


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.

1
 
2
 
3
BCEL homepage. http://jakarta.apache.org/bcel/.
4
5
6
 
7
 
8
 
9
 
10
A. Gal, M. Yang, C. Probst, and M. Franz. Executing Legacy Applications on a Java Operating System. 2004 ECOOP Workshop on Programming Languages and Operating Systems, Oslo, Norway, June, 2004.
 
11
 
12
 
13
M. Howitt and G. Sanderson. Writing a Sony PlayStation Emulator in Java Technology. Technical report, Lombardi Software, 2006.
14
 
15
 
16
A. Krall and R. Grafl. CACAO: A 64 bit Java VM just in time compiler. In PPoPP Workshop on Java for Science and Engineering Computation, 1997.
 
17
18
 
19
Microsoft Corporation. The Microsoft .NET platform, 2002. http://www.microsoft.com/net/.
 
20
D. O'Donoghue and J. Power. Identifying and evaluating a generic set of superinstructions for embedded Java programs. Proceedings of the International Conference on Embedded Systems and Applications, pages 192--198, 2004.
21
 
22
B. Stroustrup. The Evolution of C++: 1985--1989. MIT Press, Cambridge, MA, USA, 1993.
 
23
 
24
Sun Microsystems. The Java Hotspot Virtual Machine v1.4.1, Sept. 2002.
 
25
 
26
 
27
T. Wilkinson. Kaffe--a Java virtual machine. http://www.kaffe.org/, October 2006.
28

Collaborative Colleagues:
Michael Bebenita: colleagues
Andreas Gal: colleagues
Michael Franz: colleagues