Advertisement

JCOD: A Lightweight Modular Compilation Technology for Embedded Java

  • Bertrand Delsart
  • Vania Joloboff
  • Eric Paire
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2491)

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.

Keywords

Embed System Code Size Java Virtual Machine Native Code Core Class 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Bothner P. “Compiling Java for embedded systems”, Embedded Systems Conference West, San Jose, 1997.Google Scholar
  2. 2.
    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.Google Scholar
  3. 3.
    Chambers C., Dean J. and Grove D. “Whole-program optimization of object oriented languages”, Tech. Rep. 96-06-02, University of Washington, June 1996.Google Scholar
  4. 4.
    Colin de Verdiere & al. “Speedup Prediction for Selective Compilation of Embedded Java Programs”, in Proceedings of EMSOFT02, Grenoble, France, October 2002.Google Scholar
  5. 5.
    Delsart B. and Paire E. “Description of JCOD anchors”, http://www.ri.silicomp.com/~delsart/jcod/doc/anchors.html
  6. 6.
    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.Google Scholar
  7. 7.
    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).Google Scholar
  8. 8.
    “The Java Grande Forum Benchmark Suite”, http://www.epcc.ed.ac.uk/javagrande/
  9. 9.
    “Jess, the Java Expert Shell System”, http://herzberg.ca.sandia.gov/jess
  10. 10.
    Levine J. R. “Linkers and Loaders”, published by Morgan-Kauffman, October 1999, ISBN 1-55860-496-0.Google Scholar
  11. 11.
    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.Google Scholar
  12. 12.
    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, 2000Google Scholar
  13. 13.
    Pendragon, “Embedded caffeine benchmark”, http://www.webfayre.com/pendragon/cm3/info.html
  14. 14.
    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.Google Scholar
  15. 15.
    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, 1997Google Scholar
  16. 16.
    “Spec JVM98 benchmarks”, http://www.spec.org/osg/jvm98/
  17. 17.
    Sun Microsystems Inc, “The Java Hotspot Performance Engine Architecture”, http://java.sun.com/products/hotspot/whitepaper.html
  18. 18.
    Tromp J. “Fhourstones 2.0 benchmark”, http://www.cwi.nl/~tromp/c4/fhour.html
  19. 19.
    Weiss M & al. “TurboJ, a Java Bytecode To Native Compiler”, Proceedings of Languages Compilers and Tools for Embedded Systems (PLDI), Montreal, July 1998.Google Scholar
  20. 20.
    Whaley J. “Partial Method Compilation using Dynamic Profile Information”, in ACM Conference on Object-Oriented Programming Systems, Languages and Applications, Oct. 2001Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2002

Authors and Affiliations

  • Bertrand Delsart
    • 1
  • Vania Joloboff
    • 1
  • Eric Paire
    • 1
  1. 1.Silicomp Research InstituteGiéresFrance

Personalised recommendations