Browse

Java Client Ahead-of-Time Compiler for Embedded Systems

Cited 0 time in Web of Science Cited 0 time in Scopus
Authors
Hong, Sunghyun; Kim, Jin-Chul; Shin, Jin Woo; Moon, Soo-Mook; Oh, Hyeong-Seok; Lee, Jaemok; Choi, Hyung-Kyu
Issue Date
2007-07
Publisher
ACM
Citation
LCTES'07 : 2007 ACM SIGPLAN-SIGBED Conference on Languages, Compilers, and Tools for Embedded Systems, San Diego, CA , ETATS-UNIS, 2007.
Keywords
J2ME CDCJava ahead-of-time compilerJava virtual machineearly bindingjust-in-time compilerrelocation
Description
Language, Compiler and Tool Support for Embedded Systems
Proceedings of the 2007 ACM SIGPLAN/SIGBED conference on Languages, compilers, and tools for embedded systems
San Diego, California, USA
Abstract
The performance of embedded Java virtual machine can be improved by ahead-of-time compiler (AOTC), which translates bytecode into machine code in the server and installs the machine code on the client device. Although AOTC is more advantageous than just-in-time compiler (JITC) due to its absence of the translation overhead, AOTC cannot be applicable to dynamically downloaded classes at runtime. This paper proposes client-AOTC (c-AOTC) which performs AOTC on the client device using the JITC module installed on the device, complementing the server-AOTC. The machine code of a method translated by JITC is cached on a persistent memory of the device, and when the method is invoked again in a later run of the program, the machine code is loaded and executed directly without the translation and interpretation overhead. One of major issues in c-AOTC is relocation because some of the addresses used by the cached machine code are not correct when the machine code is loaded and used in a different run; those addresses should be corrected before they are used. Constant pool resolution and inlining complicate the relocation problem and we propose our solutions. We developed a c-AOTC on Sun's CDC VM reference implementation (RI) and our evaluation results indicate that c-AOTC can improve the performance significantly, as much as an average of 12%. We also experiment with the issue of reducing the number of c-AOTC methods to be cached when the persistent space is tight, with a graceful degradation of performance.
Language
English
URI
https://hdl.handle.net/10371/62298
Files in This Item:
There are no files associated with this item.
Appears in Collections:
College of Engineering/Engineering Practice School (공과대학/대학원)Dept. of Electrical and Computer Engineering (전기·정보공학부)Others_전기·정보공학부
  • mendeley

Items in S-Space are protected by copyright, with all rights reserved, unless otherwise indicated.

Browse