TurboJ is an off-line Java compiler, translating Java byte-codes to native code. TurboJ operates in conjunction with a Java
Virtual Machine (JVM); among the supported JVMs are those on HPUX, Linux, and Wind River’s Tornado for Java (running under
VxWorks). Interfacing with a standard JVM entails benefits not enjoyed by the alternate “standalone” approach; particularly
important for embedded systems is the opportunity to reduce the memory footprint via mixed-mode execution.
In this paper, we discuss the characteristics of TurboJ as currently implemented, focusing on two aspects of TurboJ: its interactions
with the JVM, and the optimizations it makes. We then briefly summarize TurboJ’s current status, compare it with some other
Java off-line compilers, and outline future plans.