Design a High-Performance Just-In-Time Compiler for a J2ME JVM on XScale

The just-in-time compilers have been widely adopted in J2SE and J2ME virtual machines. However, it is a big challenge for a JIT compiler to generate high-quality native code under the tight time and memory constraints on embedded systems. This paper presents the framework and key optimizations of a...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Xiaohua Shi, Maozhong Jin, Bu Qi Cheng, Peng Guo
Format: Tagungsbericht
Sprache:eng
Schlagworte:
Online-Zugang:Volltext bestellen
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung:The just-in-time compilers have been widely adopted in J2SE and J2ME virtual machines. However, it is a big challenge for a JIT compiler to generate high-quality native code under the tight time and memory constraints on embedded systems. This paper presents the framework and key optimizations of a JIT compiler we designed for Intelpsilas J2ME virtual machine, namely XORP, for XScaletrade architecture. We describe the bytecode-based optimizations, e.g. bytecode inlining, Array Bounds Check Elimination, Null Pointer Check Elimination, etc., and some key optimizations aimed at XScaletrade architecture, e.g. instruction scheduling, etc., in the XORP JIT. XORP is more than 15 times faster than the reference implementation of J2ME CLDC, KVM, for EEMBC, with a 350KB executable file, including interpreter, JIT compiler, GC and all other JVM components. Comparing with other high-performance J2ME JVMs, like JeodeK and CLDC-HI, XORP is also at least 69% faster than them.
DOI:10.1109/ICESS.2008.55