Pattern-Based Peephole Optimizations with Java']Java JIT Tests

被引:0
|
作者
Zang, Zhiqiang [1 ]
Thimmaiah, Aditya [1 ]
Gligoric, Milos [1 ]
机构
[1] Univ Texas Austin, Austin, TX 78712 USA
基金
美国国家科学基金会;
关键词
Just-in-time compilers; code generation; peephole optimizations; VERIFICATION;
D O I
10.1145/3597926.3598038
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
We present JOG, a framework that facilitates developing Java JIT peephole optimizations alongside JIT tests. JOG enables developers to write a pattern, in Java itself, that specifies desired code transformations by writing code before and after the optimization, as well as any necessary preconditions. Such patterns can be written in the same way that tests of the optimization are already written in OpenJDK. JOG translates each pattern into C/C++ code that can be integrated as a JIT optimization pass. JOG also generates Java tests for optimizations from patterns. Furthermore, JOG can automatically detect possible shadow relation between a pair of optimizations where the effect of the shadowed optimization is overridden by another. Our evaluation shows that JOG makes it easier to write readable JIT optimizations alongside tests without decreasing the effectiveness of JIT optimizations. We wrote 162 patterns, including 68 existing optimizations in OpenJDK, 92 new optimizations adapted from LLVM, and two new optimizations that we proposed. We opened eight pull requests (PRs) for OpenJDK, including six for new optimizations, one on removing shadowed optimizations, and one for newly generated JIT tests; seven PRs have already been integrated into the master branch of OpenJDK.
引用
收藏
页码:64 / 75
页数:12
相关论文
共 50 条
  • [1] Impact of JIT/JVM optimizations on Java']Java application performance
    Shiv, K
    Iyer, R
    Newburn, C
    Dahlstedt, J
    Lagergren, M
    Lindholm, O
    [J]. INTERACT-7 2003: SEVENTH WORKSHOP ON INTERACTION BETWEEN COMPILERS AND COMPUTER ARCHITECTURES, PROCEEDINGS, 2003, : 5 - 13
  • [2] Generating pattern-based web tutorials for Java']Java frameworks
    Hakala, M
    Hautamäki, J
    Koskimies, K
    Savolainen, P
    [J]. SCIENTIFIC ENGINEERING FOR DISTRIBUTED JAVA APPLICATIONS, 2002, 2604 : 99 - 110
  • [3] Impact of JIT/JVM optimizations on JAVA application performance
    Shiv, K.
    Iyer, R.
    Newburn, C.
    Dahlstedt, J.
    Lagergren, M.
    Lindholm, O.
    [J]. Proceedings - Annual Workshop on Interaction between Compilers and Computer Architectures, INTERACT, 2003, 2003-January : 5 - 13
  • [4] Generating pattern-based web tutorials for Java frameworks
    Hakala, Markku
    Hautamäki, Juha
    Koskimies, Kai
    Savolainen, Pekka
    [J]. Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 2003, 2604 : 99 - 110
  • [5] An automated refactoring approach to design pattern-based program transformations in java']java programs
    Jeon, SU
    Lee, JS
    Bae, DH
    [J]. APSEC 2002: NINTH ASIA PACIFIC SOFTWARE ENGINEERING CONFERENCE, 2002, : 337 - 345
  • [6] Java']Java bytecode optimizations
    Lambright, HD
    [J]. IEEE COMPCON 97, PROCEEDINGS, 1997, : 206 - 210
  • [7] Experiences with Java']Java™ JIT optimization
    Bik, AJC
    Girkar, M
    Haghighat, MR
    [J]. INNOVATIVE ARCHITECTURE FOR FUTURE GENERATION HIGH-PERFORMANCE PROCESSORS AND SYSTEMS, 1999, : 87 - 94
  • [8] Designing a Java Application for pattern-based Business Model Adaptation
    Schlimbach, Ricarda
    Christmann, Sören
    Robra-Bissantz, Susanne
    [J]. 28th Americas Conference on Information Systems, AMCIS 2022, 2022,
  • [9] An experimental evaluation of JAVA']JAVA JIT technology
    da Silva, AF
    Costa, VS
    [J]. JOURNAL OF UNIVERSAL COMPUTER SCIENCE, 2005, 11 (07) : 1291 - 1309
  • [10] A design pattern for optimizations in data intensive applications using ABS and JAVA']JAVA 8
    Serbanescu, V.
    Azadbakht, K.
    de Boer, F.
    Nagarajagowda, C.
    Nobakht, B.
    [J]. CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE, 2016, 28 (02): : 374 - 385