Run-time bytecode specialization - A portable approach to generating optimized specialized code

被引:0
|
作者
Masuhara, H [1 ]
Yonezawa, A [1 ]
机构
[1] Univ Tokyo, Grad Sch Arts & Sci, Dept Graph & Comp Sci, Tokyo, Japan
来源
关键词
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
This paper proposes a run-time bytecode specialization (BCS) technique that analyzes programs and generates specialized programs at run-time in an intermediate language. By using an intermediate language for code generation, a back-end system can optimize the specialized programs after specialization. As the intermediate language, the system uses Java virtual machine language (JVML), which allows the system to easily achieve practical portability and to use sophisticated just-in-time compilers as its back-end. The binding-time analysis algorithm, which is based on a type system, covers a non-object-oriented subset of JVML. A specializer, which generates program on a per-instruction basis, can perform method inlining at run-time. The performance measurement showed that a non-trivial application program specialized at run-time by BCS runs approximately 3-4 times faster than the unspecialized one. Despite the large amount of overheads at JIT compilation of specialized code, we observed that the overall performance of the application can be improved.
引用
收藏
页码:138 / 154
页数:17
相关论文
共 50 条
  • [21] Run-time code generation as a central system service
    Franz, M
    SIXTH WORKSHOP ON HOT TOPICS IN OPERATING SYSTEMS, PROCEEDINGS, 1997, : 112 - 117
  • [22] Specialization of Run-time Configuration Space at Compile-time: An Exploratory Study
    Ternava, Xhevahire
    Acher, Mathieu
    Combemale, Benoit
    38TH ANNUAL ACM SYMPOSIUM ON APPLIED COMPUTING, SAC 2023, 2023, : 1459 - 1468
  • [23] ADDING RUN-TIME CHECKING TO THE PORTABLE-C COMPILER
    STEFFEN, JL
    SOFTWARE-PRACTICE & EXPERIENCE, 1992, 22 (04): : 305 - 316
  • [24] PyCUDA and PyOpenCL: A scripting-based approach to GPU run-time code generation
    Kloeckner, Andreas
    Pinto, Nicolas
    Lee, Yunsup
    Catanzaro, Bryan
    Ivanov, Paul
    Fasih, Ahmed
    PARALLEL COMPUTING, 2012, 38 (03) : 157 - 174
  • [25] Jumbo: Run-time code generation for Java and its applications
    Kamin, S.
    Clausen, L.
    Jarvis, A.
    Int. Symp. Code Gener. Optim., CGO, 1600, (48-56):
  • [26] Approach to the run-time monitoring of parallel programs
    Cai, Wentong
    Turner, Stephen J.
    Computer Journal, 1994, 37 (04): : 333 - 345
  • [27] MCARTA: A Malicious Code Automated Run-Time Analysis Framework
    Nolan, Richard A.
    Chen, Peter P.
    2012 IEEE INTERNATIONAL CONFERENCE ON TECHNOLOGIES FOR HOMELAND SECURITY, 2012, : 13 - 17
  • [28] .Net approach to run-time component integration
    Flores, A
    Garcia, I
    Polo, M
    THIRD LATIN AMERICAN WEB CONGRESS, PROCEEDINGS, 2005, : 45 - 48
  • [29] AN APPROACH TO THE RUN-TIME MONITORING OF PARALLEL PROGRAMS
    CAI, WT
    TURNER, SJ
    COMPUTER JOURNAL, 1994, 37 (04): : 333 - 345
  • [30] Compiling for template-based run-time code generation
    Smith, F
    Grossman, D
    Morrisett, G
    Hornof, L
    Jim, T
    JOURNAL OF FUNCTIONAL PROGRAMMING, 2003, 13 : 677 - 708