Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8189751

JEP 317: Experimental Java-Based JIT Compiler

    Details

    • Author:
      Igor Veresov
    • JEP Type:
      Feature
    • Exposure:
      Open
    • Subcomponent:
    • Scope:
      JDK
    • Discussion:
      hotspot dash compiler dash dev at openjdk dot java dot net
    • Effort:
      M
    • Duration:
      M
    • JEP Number:
      317

      Description

      Summary

      Enable the Java-based JIT compiler, Graal, to be used as an experimental JIT compiler on the Linux/x64 platform.

      Non-Goals

      It is not a goal to meet or beat the performance of the existing JIT compilers.

      Motivation

      Graal, a Java-based JIT compiler, is the basis of the experimental Ahead-of-Time (AOT) compiler introduced in JDK 9. Enabling it to be used as an experimental JIT compiler is one of the initiatives of Project Metropolis, and is the next step in investigating the feasibility of a Java-based JIT for the JDK.

      Description

      Enable Graal to be used as an experimental JIT compiler, starting with the Linux/x64 platform. Graal will use the JVM compiler interface (JVMCI) introduced in JDK 9. Graal is already in the JDK, so enabling it as an experimental JIT will primarily be a testing and debugging effort.

      To enable Graal as the JIT compiler, use the following options on the java command line:

      -XX:+UnlockExperimentalVMOptions -XX:+UseJVMCICompiler

      Testing

      Standard testing for compilers is planned for this work. This includes running all HotSpot and JDK tests with various flag options on Linux/x64. In addition to these standard tests, unit tests developed specifically for Graal will be run. Support to run these unit tests in the jtreg framework will be implemented. Initial performance testing and benchmarking will be performed as part of this effort.

      Risks and Assumptions

      Issues with slower startup performance and increased Java heap usage of this experimental offering could impact and/or limit initial developer evaluation. Some applications and benchmarks will see performance gaps in Graal compared with the existing HotSpot JIT compilers.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                iveresov Igor Veresov
                Reporter:
                iveresov Igor Veresov
                Owner:
                Igor Veresov
                Reviewed By:
                John Rose, Mikael Vidstedt, Vladimir Kozlov
                Endorsed By:
                Vladimir Kozlov
              • Votes:
                1 Vote for this issue
                Watchers:
                15 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: