MetaCartSign in to MyCiteSeer

Include Citations | Advanced Search | Help

Include Citations | Advanced Search | Help

  A Retargetable Optimizing Java-to-C Compiler for Embedded Systems

Download:
Download as a PDF
by Ankush Varma
http://www.ece.umd.edu/DSPCAD/papers/varm2003x1.pdf
Add To MetaCart

Abstract:

The Java programming language is achieving greater acceptance in high-end embedded systems such as cellphones and PDAs. However, lowend embedded platforms, such as DSPs or microcontrollers, often have no more than a C compiler, and this prevents Java applications from being run on such systems. Applications must either be re-written in C, or a Java Virtual Machine must be ported to each such system. This paper discusses a compiler that converts portable Java bytecode to C code, allowing applications written in Java to run on embedded systems which may lack a Java Virtual Machine. This is also applicable to barebones embedded systems running without an operating system. We briefly describe code generation strategies, run-time data structures and optimization algorithms used to generate efficient C code. The code size and execution time of the C code were compared with interpreted Java, just-in-time compiled Java, and executables generated directly from Java. On an average, we found the size of the generated stand-alone executable

Citations

1415 The Java Language Specification – Gosling, Joy, et al. - 1996
381 Uniprocessor Garbage Collection Techniques – Wilson - 1992
115 Vortex: An Optimizing Compiler for Object-Oriented Languages – Dean, DeFouw, et al. - 1996
63 Hwu Hwu. Java bytecode to native code translation: The Caffeine prototype and preliminary results – Hsieh, Gyllenhaal, et al. - 1996
52 Optimizing Java bytecode using the Soot framework: Is it feasible – Vallée-Rai, Gagnon, et al. - 2000
40 SOOT: A Java Bytecode Optimization Framework – Vallée-Rai - 2000
21 Harissa: A hybrid approach to Java execution – Muller, Schultz - 1999
18 Jimple: Simplifying Java Bytecode for Analyses and Transformations – Hendren
13 Java 2 Platform Micro Edition (J2ME) Technology for Creating Mobile Devices, white paper – Microsystems - 2000
4 Toba: Java For Applications -- A Way Ahead of Time (WAT – Proebsting, Townsend, et al. - 1997
3 a Java Bytecode-to-Native Compiler – Weiss, Ferrière, et al. - 1998
1 Fabrice Bellard and Charles Consel, “Harissa: a Flexible and Efficient Java Environment Mixing Bytecode – Muller, Moura - 1997