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 条
  • [31] Design and implementation of Java']Java just-in-time compiler
    Ding, YX
    Mei, J
    Cheung, H
    JOURNAL OF COMPUTER SCIENCE AND TECHNOLOGY, 2000, 15 (06) : 584 - 590
  • [32] E-Bunny: A Dynamic Compiler for Embedded Java']Java Virtual Machines
    Debbabi, Mourad
    Gherbi, Abdelouahed
    Ketari, Lamia
    Talhi, Chamseddine
    Tawbi, Nadia
    Yahyaoui, Hamdi
    Zhioua, Sami
    JOURNAL OF OBJECT TECHNOLOGY, 2005, 4 (01): : 81 - 106
  • [33] Overview of the IBM Java']Java just-in-time compiler
    Suganuma, T
    Ogasawara, T
    Takeuchi, M
    Yasue, T
    Kawahito, M
    Ishizaki, K
    Komatsu, H
    Nakatani, T
    IBM SYSTEMS JOURNAL, 2000, 39 (01) : 175 - 193
  • [34] A certifying compiler for Java']Java
    Colby, C
    Lee, P
    Necula, GC
    Blau, F
    Plesko, M
    Cline, K
    ACM SIGPLAN NOTICES, 2000, 35 (05) : 95 - 107
  • [35] Java']Java in embedded systems: two approaches
    Hedenstedt, J
    COMPUTER DESIGN, 1998, 37 (08): : 74 - 74
  • [36] Embedded Java']Java goes real time
    不详
    EDN, 2001, 46 (03) : 72 - 72
  • [37] An IP core for embedded Java']Java systems
    Uhrig, Sascha
    Mische, Joerg
    Ungerer, Theo
    EMBEDDED COMPUTER SYSTEMS: ARCHITECTURES, MODELING, AND SIMULATION - PROCEEDINGS, 2007, 4599 : 263 - +
  • [38] Deterministic Java']Java in tiny embedded systems
    Nilsson, A
    Ekman, T
    FOURTH IEEE INTERNATIONAL SYMPOSIUM ON OBJECT-ORIENTED REAL-TIME DISTRIBUTED COMPUTING, PROCEEDINGS, 2001, : 60 - 68
  • [39] Java']Java in embedded-systems design
    Varhol, P
    COMPUTER DESIGN, 1997, 36 (03): : 63 - +
  • [40] Java']Java perks up embedded systems
    Quinnell, RA
    EDN, 1997, 42 (16) : 38 - &