|
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
|
Michael G. Burke , Jong-Deok Choi , Stephen Fink , David Grove , Michael Hind , Vivek Sarkar , Mauricio J. Serrano , V. C. Sreedhar , Harini Srinivasan , John Whaley, The Jalapeño dynamic optimizing compiler for Java, Proceedings of the ACM 1999 conference on Java Grande, p.129-141, June 12-14, 1999, San Francisco, California, United States
[doi> 10.1145/304065.304113]
|
 |
6
|
|
| |
7
|
Bertil Folliot , Ian Piumarta , Lionel Seinturier , C. Baillarguet , C. Khoury , A. Leger , F. Ogel, Beyond Flexibility and Reflection: The Virtual Virtual Machine Approach, Proceedings of the NATO Advanced Research Workshop on Advanced Environments, Tools, and Applications for Cluster Computing-Revised Papers, p.16-25, September 01-06, 2001
|
| |
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
|
J. A. Mathew , P. D. Coddington , K. A. Hawick, Analysis and development of Java Grande benchmarks, Proceedings of the ACM 1999 conference on Java Grande, p.72-80, June 12-14, 1999, San Francisco, California, United States
[doi> 10.1145/304065.304101]
|
| |
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
|
Doug Simon , Cristina Cifuentes , Dave Cleal , John Daniels , Derek White, Java™ on the bare metal of wireless sensor devices: the squawk Java virtual machine, Proceedings of the 2nd international conference on Virtual execution environments, June 14-16, 2006, Ottawa, Ontario, Canada
[doi> 10.1145/1134760.1134773]
|
| |
22
|
B. Stroustrup. The Evolution of C++: 1985--1989. MIT Press, Cambridge, MA, USA, 1993.
|
| |
23
|
T. Suganuma , T. Ogasawara , K. Kawachiya , M. Takeuchi , K. Ishizaki , A. Koseki , T. Inagaki , T. Yasue , M. Kawahito , T. Onodera , H. Komatsu , T. Nakatani, Evolution of a java just-in-time compiler for IA-32 platforms, IBM Journal of Research and Development, v.48 n.5/6, p.767-795, September/November 2004
|
| |
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
|
|
|