JOG: Java JIT Peephole Optimizations and Tests from Patterns.

Uloženo v:
Podrobná bibliografie
Název: JOG: Java JIT Peephole Optimizations and Tests from Patterns.
Autoři: Zang, Zhiqiang, Thimmaiah, Aditya, Gligoric, Milos
Zdroj: ICSE: International Conference on Software Engineering; 2024, p11-15, 5p
Témata: JAVA programming language, COMPILERS (Computer programs), C++, OPTIMIZATION algorithms, JUST-in-time systems
Abstrakt: We present JOG, a framework for developing peephole optimizations and accompanying tests for Java compilers. JOG allows developers to write a peephole optimization as a pattern in Java itself. Such a pattern contains code before and after the desired transformation defined by the peephole optimization, with any necessary preconditions, and the pattern can be written in the same way that tests for the optimization are already written in OpenJDK. JOG automatically translates each pattern into C/C++ code as a JIT optimization pass, and generates tests for the optimization. Also, JOG automatically analyzes the shadow relation between a pair of optimizations where the effect of the shadowed optimization is overridden by the other. We used JOG to write 162 patterns, including many patterns found in OpenJDK and LLVM, as well as some that we proposed. We opened ten pull requests (PRs) for OpenJDK, on introducing new optimizations, removing shadowed optimizations, and adding generated tests for optimizations; nine of PRs have already been integrated into the master branch of OpenJDK. The demo video for JOG can be found at https://youtu.be/z2q6dhOiqgw. [ABSTRACT FROM AUTHOR]
Copyright of ICSE: International Conference on Software Engineering is the property of Association for Computing Machinery and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract. (Copyright applies to all Abstracts.)
Databáze: Complementary Index
FullText Text:
  Availability: 0
Header DbId: edb
DbLabel: Complementary Index
An: 185196577
RelevancyScore: 998
AccessLevel: 6
PubType: Conference
PubTypeId: conference
PreciseRelevancyScore: 998.421264648438
IllustrationInfo
Items – Name: Title
  Label: Title
  Group: Ti
  Data: JOG: Java JIT Peephole Optimizations and Tests from Patterns.
– Name: Author
  Label: Authors
  Group: Au
  Data: <searchLink fieldCode="AR" term="%22Zang%2C+Zhiqiang%22">Zang, Zhiqiang</searchLink><br /><searchLink fieldCode="AR" term="%22Thimmaiah%2C+Aditya%22">Thimmaiah, Aditya</searchLink><br /><searchLink fieldCode="AR" term="%22Gligoric%2C+Milos%22">Gligoric, Milos</searchLink>
– Name: TitleSource
  Label: Source
  Group: Src
  Data: ICSE: International Conference on Software Engineering; 2024, p11-15, 5p
– Name: Subject
  Label: Subject Terms
  Group: Su
  Data: <searchLink fieldCode="DE" term="%22JAVA+programming+language%22">JAVA programming language</searchLink><br /><searchLink fieldCode="DE" term="%22COMPILERS+%28Computer+programs%29%22">COMPILERS (Computer programs)</searchLink><br /><searchLink fieldCode="DE" term="%22C%2B%2B%22">C++</searchLink><br /><searchLink fieldCode="DE" term="%22OPTIMIZATION+algorithms%22">OPTIMIZATION algorithms</searchLink><br /><searchLink fieldCode="DE" term="%22JUST-in-time+systems%22">JUST-in-time systems</searchLink>
– Name: Abstract
  Label: Abstract
  Group: Ab
  Data: We present JOG, a framework for developing peephole optimizations and accompanying tests for Java compilers. JOG allows developers to write a peephole optimization as a pattern in Java itself. Such a pattern contains code before and after the desired transformation defined by the peephole optimization, with any necessary preconditions, and the pattern can be written in the same way that tests for the optimization are already written in OpenJDK. JOG automatically translates each pattern into C/C++ code as a JIT optimization pass, and generates tests for the optimization. Also, JOG automatically analyzes the shadow relation between a pair of optimizations where the effect of the shadowed optimization is overridden by the other. We used JOG to write 162 patterns, including many patterns found in OpenJDK and LLVM, as well as some that we proposed. We opened ten pull requests (PRs) for OpenJDK, on introducing new optimizations, removing shadowed optimizations, and adding generated tests for optimizations; nine of PRs have already been integrated into the master branch of OpenJDK. The demo video for JOG can be found at https://youtu.be/z2q6dhOiqgw. [ABSTRACT FROM AUTHOR]
– Name: Abstract
  Label:
  Group: Ab
  Data: <i>Copyright of ICSE: International Conference on Software Engineering is the property of Association for Computing Machinery and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract.</i> (Copyright applies to all Abstracts.)
PLink https://erproxy.cvtisr.sk/sfx/access?url=https://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edb&AN=185196577
RecordInfo BibRecord:
  BibEntity:
    Identifiers:
      – Type: doi
        Value: 10.1145/3639478.3640040
    Languages:
      – Code: eng
        Text: English
    PhysicalDescription:
      Pagination:
        PageCount: 5
        StartPage: 11
    Subjects:
      – SubjectFull: JAVA programming language
        Type: general
      – SubjectFull: COMPILERS (Computer programs)
        Type: general
      – SubjectFull: C++
        Type: general
      – SubjectFull: OPTIMIZATION algorithms
        Type: general
      – SubjectFull: JUST-in-time systems
        Type: general
    Titles:
      – TitleFull: JOG: Java JIT Peephole Optimizations and Tests from Patterns.
        Type: main
  BibRelationships:
    HasContributorRelationships:
      – PersonEntity:
          Name:
            NameFull: Zang, Zhiqiang
      – PersonEntity:
          Name:
            NameFull: Thimmaiah, Aditya
      – PersonEntity:
          Name:
            NameFull: Gligoric, Milos
    IsPartOfRelationships:
      – BibEntity:
          Dates:
            – D: 01
              M: 05
              Text: 2024
              Type: published
              Y: 2024
          Titles:
            – TitleFull: ICSE: International Conference on Software Engineering
              Type: main
ResultId 1