E-Bunny: A Dynamic Compiler for Embedded Java Virtual Machines

A new acceleration technology for Java embedded virtual machines is presented in this paper. Based on the selective dynamic compilation technique, this technology addresses the J2ME/CLDC (Java 2 Micro Edition for Connected Limited Device Configuration) platform. The primary objective of our work is to come up with an ecient, lightweight and low-footprint accelerated embedded Java Virtual Machine. This is achieved by the means of integrating a selective dynamic compiler that we called E-Bunny into the J2ME/CLDC virtual machine KVM. This paper presents the motivations, the architecture, the design and the implementation issues of E-Bunny and how we addressed them. Experimental results on the performance of our modified KVM demonstrate that we accomplished a speedup of 400% with respect to the Sun’s latest version of KVM. This experimentation was carried on using standard J2ME benchmarks.

[1]  Erik R. Altman,et al.  LaTTe: a Java VM just-in-time compiler with fast and efficient register allocation , 1999, 1999 International Conference on Parallel Architectures and Compilation Techniques (Cat. No.PR00425).

[2]  John C. Gyllenhaal,et al.  Java bytecode to native code translation: the Caffeine prototype and preliminary results , 1996, Proceedings of the 29th Annual IEEE/ACM International Symposium on Microarchitecture. MICRO 29.

[3]  Narayanan Vijaykrishnan,et al.  Java Runtime Systems: Characterization and Architectural Implications , 2001, IEEE Trans. Computers.

[4]  Stephen J. Fink,et al.  The Jalapeño virtual machine , 2000, IBM Syst. J..

[5]  James M. Stichnoth,et al.  Practicing JUDO: Java under dynamic optimizations , 2000, PLDI '00.

[6]  Michael L. Littman,et al.  Using Caching to Solve Larger Probabilistic Planning Problems , 1998, AAAI/IAAI.

[7]  Nik Shaylor,et al.  A Just-in-Time Compiler for Memory-Constrained Low-Power Devices , 2002, Java Virtual Machine Research and Technology Symposium.

[8]  Toshiaki Yasue,et al.  A dynamic optimization framework for a Java just-in-time compiler , 2001, OOPSLA '01.

[9]  Intel Corportation,et al.  IA-32 Intel Architecture Software Developers Manual , 2004 .

[10]  Frank Yellin,et al.  The Java Virtual Machine Specification , 1996 .

[11]  Toshiaki Yasue,et al.  Overview of the IBM Java Just-in-Time Compiler , 2000, IBM Syst. J..

[12]  Fuyuhiko Maruyama OpenJIT 2: The Design and Implementation of Application Framework for JIT Compilers , 2001, Java Virtual Machine Research and Technology Symposium.

[13]  Robert Wilson,et al.  Compiling Java just in time , 1997, IEEE Micro.

[14]  Laurie J. Hendren,et al.  Effective Inline-Threaded Interpretation of Java Bytecode Using Preparation Sequences , 2003, CC.