Abstract
JCOD1 is a new compiler technology for appliances such as mobile phones or printers running embedded Java programs. Interpreted Java is sometimes too slow and one would like to compile bytecode into native code as this is achieved in JIT compilers on desktops. Our approach takes into account the memory and CPU constraints of the appliances. We have designed a distributed technology to efficiently detect “hot spots” of the application and compile them out of the appliance, on a network compile server that uses a lot of code size optimizations. This paper describes the different components and exhibits their flexibility. They can easily be upgraded independently or tailored for a specific kind of applications running on a given appliance.
This work was accomplished with funding from Hewlett-Packard Corporation and a grant from the Japanese government, through its IPA agency.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Bothner P. “Compiling Java for embedded systems”, Embedded Systems Conference West, San Jose, 1997.
Budimlic and Kennedy K. “Optimizing Java: Theory and practice”, Concurrency, Practice and Experience (UK), 9(11):445–63, November 1997. Java for Computational Science and Engineering-Simulation and Modeling II Las Vegas, NV, USA 21 June 1997.
Chambers C., Dean J. and Grove D. “Whole-program optimization of object oriented languages”, Tech. Rep. 96-06-02, University of Washington, June 1996.
Colin de Verdiere & al. “Speedup Prediction for Selective Compilation of Embedded Java Programs”, in Proceedings of EMSOFT02, Grenoble, France, October 2002.
Delsart B. and Paire E. “Description of JCOD anchors”, http://www.ri.silicomp.com/~delsart/jcod/doc/anchors.html
Duesterwald E. and Bala V. “Software Profiling for Hot Path Prediction: Less is More”, in 9th Conference on Architectural Support for Programming Languages and Operating Systems, Nov. 2000.
Hummel J., Azevedo A., Kolson D. and Nicolau A. “Annotating the Java byte codes in support of optimization”, in Workshop on Java for Science and Engineering Computation, PPoPP97 (June 1997).
“The Java Grande Forum Benchmark Suite”, http://www.epcc.ed.ac.uk/javagrande/
“Jess, the Java Expert Shell System”, http://herzberg.ca.sandia.gov/jess
Levine J. R. “Linkers and Loaders”, published by Morgan-Kauffman, October 1999, ISBN 1-55860-496-0.
Muller G., Moura B., Bellard F. and Consel C. “Harissa: a flexible and efficient Java environment mixing bytecode and compiled code”, in Proceedings of COOTS97, 1997.
H. Ogawa H., K. Shumira K., Matsuoka S., Maruyama F., Sohda Y. and Kimura F. “Open-JIT: An open-ended, reflective JIT compiler framework for Java”, in Proc. European Conference on Object-Oriented Programming, 2000
Pendragon, “Embedded caffeine benchmark”, http://www.webfayre.com/pendragon/cm3/info.html
Plezbert M. and Cytron R. “Does “Just In Time” = “Better Late Than Never”?”, in Proceedings of Symposium on Principles of Programming Languages, Paris, France, 1997.
Proebsting T. A., Townsend G., Bridges P., Hartman J.H., Newsham, T. and Watterson S. A. “Toba: Java for Applications: A Way Ahead of Time (WAT) Compiler”, in Third Conference on Object Oriented Technologies, 1997
“Spec JVM98 benchmarks”, http://www.spec.org/osg/jvm98/
Sun Microsystems Inc, “The Java Hotspot Performance Engine Architecture”, http://java.sun.com/products/hotspot/whitepaper.html
Tromp J. “Fhourstones 2.0 benchmark”, http://www.cwi.nl/~tromp/c4/fhour.html
Weiss M & al. “TurboJ, a Java Bytecode To Native Compiler”, Proceedings of Languages Compilers and Tools for Embedded Systems (PLDI), Montreal, July 1998.
Whaley J. “Partial Method Compilation using Dynamic Profile Information”, in ACM Conference on Object-Oriented Programming Systems, Languages and Applications, Oct. 2001
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2002 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Delsart, B., Joloboff, V., Paire, E. (2002). JCOD: A Lightweight Modular Compilation Technology for Embedded Java. In: Sangiovanni-Vincentelli, A., Sifakis, J. (eds) Embedded Software. EMSOFT 2002. Lecture Notes in Computer Science, vol 2491. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45828-X_15
Download citation
DOI: https://doi.org/10.1007/3-540-45828-X_15
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-44307-0
Online ISBN: 978-3-540-45828-9
eBook Packages: Springer Book Archive