A selective dynamic compiler for embedded Java virtual machines targeting ARM processors

  • Authors:
  • Mourad Debbabi;Abdelouahed Gherbi;Azzam Mourad;Hamdi Yahyaoui

  • Affiliations:
  • Computer Security Laboratory, Concordia Institute for Information Systems Engineering, Engineering and Computer Science Faculty, Concordia University, Montreal, QC, Canada;Computer Security Laboratory, Concordia Institute for Information Systems Engineering, Engineering and Computer Science Faculty, Concordia University, Montreal, QC, Canada;Computer Security Laboratory, Concordia Institute for Information Systems Engineering, Engineering and Computer Science Faculty, Concordia University, Montreal, QC, Canada;Computer Security Laboratory, Concordia Institute for Information Systems Engineering, Engineering and Computer Science Faculty, Concordia University, Montreal, QC, Canada

  • Venue:
  • Science of Computer Programming - Special issue: Principles and practices of programming in Java (PPPJ 2004)
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

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.