Java']Java client ahead-of-time compiler for embedded systems

被引:3
|
作者
Hong, Sunghyun [1 ]
Kim, Jin-Chul [1 ]
Shin, Jin Woo [1 ]
Moon, Soo-Mook [1 ]
Oh, Hyeong-Seok [1 ]
Lee, Jaemok [1 ]
Choi, Hyung-Kyu [1 ]
机构
[1] Seoul Natl Univ, Sch Elect Engn & Comp Sci, Seoul 151742, South Korea
关键词
!text type='Java']Java[!/text] ahead-of-time compiler; just-in-time compiler; relocation; early binding; !text type='Java']Java[!/text] virtual machine; J2ME CDC; performance; experimentation; languages;
D O I
10.1145/1273444.1254776
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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 cAOTC 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.
引用
收藏
页码:63 / 72
页数:10
相关论文
共 50 条
  • [1] Java']Java Client Ahead-of-Time Compiler for Embedded Systems
    Hong, Sunghyun
    Kim, Jin-Chul
    Shin, Jin Woo
    Moon, Soo-Mook
    Oh, Hyeong-Seok
    Lee, Jaemok
    Choi, Hyung-Kyu
    [J]. LCTES'07: PROCEEDINGS OF THE 2007 ACM SIGPLAN-SIGBED CONFERENCE ON LANGUAGES, COMPILERS, AND TOOLS FOR EMBEDDED SYSTEMS, 2007, : 63 - 72
  • [2] Client ahead-of-time compiler for embedded Java']Java platforms
    Hong, Sunghyun
    Kim, Jin-Chul
    Moon, Soo-Mook
    Shin, Jin Woo
    Lee, Jaemok
    Oh, Hyeong-Seok
    Choi, Hyung-Kyu
    [J]. SOFTWARE-PRACTICE & EXPERIENCE, 2009, 39 (03): : 259 - 278
  • [3] Evaluation of a Java']Java Ahead-of-Time Compiler for Embedded Systems
    Jung, Dong-Heon
    Moon, Soo-Mook
    Bae, Sung-Hwan
    [J]. COMPUTER JOURNAL, 2012, 55 (02): : 232 - 252
  • [4] Design and Optimization of a Java']Java Ahead-of-Time Compiler for Embedded Systems
    Jung, Dong-Heon
    Moon, Soo-Mook
    Bae, Sung-Hwan
    [J]. EUC 2008: PROCEEDINGS OF THE 5TH INTERNATIONAL CONFERENCE ON EMBEDDED AND UBIQUITOUS COMPUTING, VOL 1, MAIN CONFERENCE, 2008, : 169 - 175
  • [5] Efficient exception handling in Java']Java bytecode-to-C ahead-of-time compiler for embedded systems
    Jung, Dong-Heon
    Park, JongKuk
    Bae, Sung-Hwan
    Lee, Jaemok
    Moon, Soo-Mook
    [J]. COMPUTER LANGUAGES SYSTEMS & STRUCTURES, 2008, 34 (04) : 170 - 183
  • [6] Java']JavaScript Ahead-of-Time Compilation for Embedded Web Platform
    Park, HyukWoo
    Jung, Wonki
    Moon, Soo-Mook
    [J]. 2015 13TH IEEE SYMPOSIUM ON EMBEDDED SYSTEMS FOR REAL-TIME MULTIMEDIA, 2015, : 49 - 57
  • [7] On real-time performance of ahead-of-time compiled Java']Java
    Nilsson, A
    Robertz, SG
    [J]. ISORC 2005: Eighth IEEE International Symposium on Object-Oriented Real-Time Distributed Computing, Proceedings, 2005, : 372 - 381
  • [8] Loop transformations in the ahead-of-time optimization of Java']Java bytecode
    Hammond, Simon
    Lacey, David
    [J]. COMPILER CONSTRUCTION, PROCEEDINGS, 2006, 3923 : 109 - 123
  • [9] Ahead-of-time compilation of Java']JavaScript programs
    Zhuykov, R.
    Sharygin, E.
    [J]. PROGRAMMING AND COMPUTER SOFTWARE, 2017, 43 (01) : 51 - 59
  • [10] Augmenting Java']JavaScript JIT with Ahead-of-Time Compilation
    Zhuykov, Roman
    Vardanyan, Vahagn
    Melnik, Dmitry
    Buchatskiy, Ruben
    Sharygin, Eugeniy
    [J]. TENTH INTERNATIONAL CONFERENCE ON COMPUTER SCIENCE AND INFORMATION TECHNOLOGIES REVISED SELECTED PAPERS CSIT-2015, 2015, : 116 - 120