Abstract
Currently the Java programming language is popularly used in Internet-based systems, mobile and ubiquitous devices because of its portability and programability. However, inherently its performance is sometimes very limited due to interpretation overhead of class files by Java Virtual Machines (JVMs). In this paper, as one of the solutions to resolve the performance limitation, we present code generation and optimization techniques for a Java-to-C translator. Our compiler framework translates Java bytecode into C codes with preserving Java’s programming semantics, such as inheritance, method overloading, virtual method invocation, garbage collection, and so on. Moreover, our compiler translates for in Java into for in C instead of test and jump for better performance. Our runtime library fully supports Connected Limited Device Configuration (CLDC) 1.0 API’s.
This research work (Ex : Paper, Patent, Standard, IP, SoC, IT System, etc) has been supported by Nano IP/SoC Promotion Group of Seoul R&BD Program in 2006.
Chapter PDF
Similar content being viewed by others
Keywords
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.
References
Sun Microsystems: Java2 Platform, Standard Edition, http://java.sun.com/j2se/
Sun Microsystems: Java2 Platform, Micro Edition, http://java.sun.com/j2me/
Sun Microsystems: The Source for Java Technology, http://java.sun.com/
Bacon, D., Fink, S., Grove, D.: Space and time efficient implementation of the Java object model. In: Magnusson, B. (ed.) ECOOP 2002. LNCS, vol. 2374, pp. 10–14. Springer, Heidelberg (2002)
Undine, Kleine, A.: Tya, http://sax.sax.de/~adlibit/
Shudo, K.: shuJIT, http://www.shudo.net/jit/#docs
The Free Software Foundation: Guide to GNU gcj, http://gcc.gnu.org/java/index.html
Proebsting, T.A., Townsend, G., Bridges, P., Hartman, J.H., Newsham, T., Watterson, S.A.: Toba: Java for applications: A way ahead of time (WAT) compiler. In: Proceedings of the 3rd USENIX Conference on Object-Oriented Technologies and Systems (COOTS 1997) (1997)
Varma, A., Bhattacharyya, S.S.: Java-through-C compilation: An enabling technology for java in embedded systems. In: Design Automation and Test in Europe (DATE 2003), Paris, France (2004)
Han, Y., Kim, S., Kim, H., Hwang, S.J., Kim, S.W.: Code generation and optimization for java-to-c compiler, http://compiler.korea.ac.kr/papers/java2c_report.pdf
Lindholm, T., Yellin, F.: The Java Virtual Machine Specification. Addison-Wesley, Reading (1996)
Boehm, H.J., Demers, A., Weiser, M.: Boehm-Demers-Weiser conservative garbage collector, http://www.hpl.hp.com/personal/Hans_Boehm/gc/
Sun Microsystems: Connected Limited Device Configuration (CLDC), http://java.sun.com/products/cldc/
National Institute of Standards and Technology: SciMark 2.0, http://math.nist.gov/scimark2/
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Han, Y., Kim, S., Kim, H., Hwang, S.J., Kim, S.W. (2006). Code Generation and Optimization for Java-to-C Compilers. In: Zhou, X., et al. Emerging Directions in Embedded and Ubiquitous Computing. EUC 2006. Lecture Notes in Computer Science, vol 4097. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11807964_79
Download citation
DOI: https://doi.org/10.1007/11807964_79
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-36850-2
Online ISBN: 978-3-540-36851-9
eBook Packages: Computer ScienceComputer Science (R0)