Abstract:
This paper presents a new selective dynamic compilation technique targeting ARM 16/32-bit embedded system processors. This compiler is built inside the J2ME/CLDC (Java 2 Micro Edition for Connected Limited Device Configuration) platform [Sun MicroSystems, Java 2 Platform, Micro Edition, Version 1.0 Connected, Limited Device Configuration, Specification, Technical Report, Sun Microsystems, CA, USA, May 2000]. The primary objective of this work is to elaborate an efficient, lightweight and low-footprint accelerated Java virtual machine ready to be executed on embedded machines. This is achieved by implementing a selective ARM dynamic compiler called Armed E-Bunny into Sun’s Kilobyte Virtual Machine (KVM) [Sun MicroSystems, KVM porting guide, Technical Report, Sun MicroSystems, CA, USA, September 2001]. In this paper we present the motivations, the architecture, the design and the implementation of Armed E-Bunny. The modified KVM is ported on a handheld PDA that is powered with embedded Linux and is tested using standard J2ME benchmarks. The experimental results demonstrate that a speed-up of 360% over the last version of Sun’s KVM is accomplished with a footprint that does not exceed 119 KB. An important result of this paper is also the proposition of an acceleration technique that leverages Armed E-Bunny by establishing a synergy between efficient interpretation and selective dynamic compilation. The main traits of this technique are: a one-pass compilation by code reuse, an efficient threaded interpretation and a fast switching mechanism between the interpreted and compiled modes.
Citation:
Debbabi, M., Gherbi, A., Mourad, A., & Yahyaoui, H. (2006). A selective dynamic compiler for embedded Java virtual machines targeting ARM processors. Science of Computer Programming, 59(1), 38-63.