RFR: 8255616: Disable AOT and Graal in Oracle OpenJDK

Volker Simonis volker.simonis at gmail.com
Tue Nov 3 10:51:37 UTC 2020


Hi Vladimir,

this is an interesting step and I wonder how it affects the OpenJDK
Graal, Metropolis and Leyden projects?

- Project Graal [1] seems to have already been merged into project
Metropolis as it states on its project page:
"Further work on integrating Graal in the OpenJDK has moved to Project
Metropolis."

- Project Metropolis [2] has the following mission statement on its
project page:
"The goal of this Project is to provide a venue to explore and
incubate advanced "Java-on-Java" implementation techniques for
HotSpot. Our starting point is earlier proposals for using the Graal
compiler and AOT static compilation technology to replace the HotSpot
server compiler, and possibly other components of HotSpot."

It seems that this goal becomes void when Graal AOT and Grall JIT are
abandoned in the OpenJDK.

- Project Leyden [?]: @Mark: what's actually the state of Project
Leyden? We had a discussion [3], a vote [4] and the approval of the
project [5] yet nothing has happened ever since. There's neither a
project page nor a mailing list.

Considering the fact that Leyden was supposed to "be based upon
existing components in the JDK such as the HotSpot JVM, the `jaotc`
ahead-of-time compiler, application class-data sharing, and the
`jlink` linking tool" I wonder if Leyden is already dead before its
instantiation if "jaotc", one of its core components, has now been
deprecated? Or are there any plans to enhance C2 for AOT scenarios?

Thank you and best regards,
Volker

[1] http://openjdk.java.net/projects/graal/
[2] http://openjdk.java.net/projects/metropolis/
[3] https://mail.openjdk.java.net/pipermail/discuss/2020-April/005429.html
[4] https://mail.openjdk.java.net/pipermail/discuss/2020-May/005475.html
[5] https://mail.openjdk.java.net/pipermail/announce/2020-June/000290.html

On Fri, Oct 30, 2020 at 6:47 PM Vladimir Kozlov <kvn at openjdk.java.net> wrote:
>
> We shipped Ahead-of-Time compilation (the jaotc tool) in JDK 9, as an experimental feature. We shipped Graal as an experimental JIT compiler in JDK 10. We haven't seen much use of these features, and the effort required to support and enhance them is significant. We therefore intend to disable these features in Oracle builds as of JDK 16.
>
> We'll leave the sources for these features in the repository, in case any one else is interested in building them. But we will not update or test them.
>
> We'll continue to build and ship JVMCI as an experimental feature in Oracle builds.
>
> Tested changes in all tiers.
>
> I verified that with these changes I still able to build Graal in open repo and run graalunit testing:
>
> `open$ bash test/hotspot/jtreg/compiler/graalunit/downloadLibs.sh /mydir/graalunit_lib/`
> `open$ bash configure --with-debug-level=fastdebug --with-graalunit-lib=/mydir/graalunit_lib/ --with-jtreg=/mydir/jtreg`
> `open$ make jdk-image`
> `open$ make test-image`
> `open$ make run-test TEST=compiler/graalunit/HotspotTest.java`
>
> -------------
>
> Commit messages:
>  - 8255616: Disable AOT and Graal in Oracle OpenJDK
>
> Changes: https://git.openjdk.java.net/jdk/pull/960/files
>  Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=960&range=00
>   Issue: https://bugs.openjdk.java.net/browse/JDK-8255616
>   Stats: 36 lines in 4 files changed: 21 ins; 11 del; 4 mod
>   Patch: https://git.openjdk.java.net/jdk/pull/960.diff
>   Fetch: git fetch https://git.openjdk.java.net/jdk pull/960/head:pull/960
>
> PR: https://git.openjdk.java.net/jdk/pull/960


More information about the discuss mailing list