Java-through-C Compilation: An Enabling Technology for Java in Embedded Systems
Abstract
The Java programming language is achieving greater acceptance in high-end embedded systems such as cell phones and PDAs. However, current embedded implementations of Java impose tight constraints on functionality, while requiring significant storage space. In addition, they require that a JVM be ported to each such platform. We demonstrate the first Java-to-C compilation strategy that is suitable for a wide range of embedded systems, thereby enabling broad use of Java on embedded platforms. This strategy removes many of the constraints on functionality and reduces code size without sacrificing performance. The compilation framework described is easily retargetable, and is also applicable to barebones embedded systems with no operating system or JVM. On an average, we found the size of the generated executables to be over 25 times smaller than those generated by a cutting edge Java-to-native-code compiler, while providing performance comparable to the best of various Java implementation strategies. need not be modified to run them on embedded platforms. Standard Java classes and utilities can be supported to a high degree. 2. Related Work Various alternative Java implementations have been explored recently. TurboJ [4] speeds up execution by compiling bytecode to native code ahead of time, but using a JVM for some functions. Harissa [5] generates C code from Java, but uses a JVM for some functionality. The JVM allows Java to be fully supported, at the cost of increased code size. Jove [22] is a native compiler targeted at large server/workstation programs. It creates executables that are aggressively optimized for speed, not for code size, and thus generates relatively large executables [23]. gcj [8] provides a sophisticated and standardized method for compiling Java source code or bytecode into native executable form. It provides a complete runtime environment for Java, and is
Document Details
- Document Type
- Technical Report
- Publication Date
- Feb 01, 2004
- Accession Number
- ADA455085
Entities
People
- Ankush Varma
- Shuvra S. Bhattacharyya
Organizations
- University of Maryland