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 条
  • [21] Work-in-Progress: Advanced Ahead-of-Time Compilation for Java']JavaScript Engine
    Park, HyukWoo
    Kim, SungKook
    Moon, Soo-Mook
    2017 INTERNATIONAL CONFERENCE ON COMPILERS, ARCHITECTURES AND SYNTHESIS FOR EMBEDDED SYSTEMS (CASES), 2017,
  • [22] Java']Java for embedded systems
    Mulchandani, D
    IEEE INTERNET COMPUTING, 1998, 2 (03) : 30 - 39
  • [23] Restrictions of Java']Java for embedded real-time systems
    Schoeberl, M
    SEVENTH IEEE INTERNATIONAL SYMPOSIUM ON OBJECT-ORIENTED REAL-TIME DISTRIBUTED COMPUTING, PROCEEDINGS, 2004, : 93 - 100
  • [24] Virtualizing Real-time Embedded Systems with Java']Java
    Vitek, Jan
    PROCEEDINGS OF THE 48TH ACM/EDAC/IEEE DESIGN AUTOMATION CONFERENCE (DAC), 2011, : 906 - 911
  • [25] A Method-Based Ahead-of-Time Compiler for Android Applications
    Wang, Chih-Sheng
    Perez, Guillermo A.
    Chung, Yeh-Ching
    Hsu, Wei-Chung
    Shih, Wei-Kuan
    Hsu, Hong-Rong
    PROCEEDINGS OF THE PROCEEDINGS OF THE 14TH INTERNATIONAL CONFERENCE ON COMPILERS, ARCHITECTURES AND SYNTHESIS FOR EMBEDDED SYSTEMS (CASES '11), 2011, : 15 - 24
  • [26] Adapting Java']Java for embedded systems
    Varhol, P
    COMPUTER DESIGN, 1997, 36 (10): : 75 - +
  • [27] Java']Java framework for distributed real-time embedded systems
    Silva, Elias Teodoro, Jr.
    Freitas, Edison Pignaton
    Wagner, Flavio Rech
    Carvalho, Fabiano Costa
    Pereira, Carlos Eduardo
    NINTH IEEE INTERNATIONAL SYMPOSIUM ON OBJECT AND COMPONENT-ORIENTED REAL-TIME DISTRIBUTED COMPUTING, PROCEEDINGS, 2006, : 85 - 92
  • [28] A Java']Java processor architecture for embedded real-time systems
    Schoeberl, Martin
    JOURNAL OF SYSTEMS ARCHITECTURE, 2008, 54 (1-2) : 265 - 286
  • [29] Free Java']Java compiler
    不详
    DATAMATION, 1996, 42 (01): : 20 - &
  • [30] 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