RFR: 8255616: Disable AOT and Graal in Oracle OpenJDK
Vladimir Kozlov
vladimir.kozlov at oracle.com
Wed Nov 4 22:53:47 UTC 2020
Hi, Volker and Monica
On 11/3/20 2:51 AM, Volker Simonis wrote:
> 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."
This page is outdated and currently incorrect.
The main development of Graal is done in GraalVM. OpenJDK and Metropolis are downstream.
>
> - 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.
No, this goal is still valid. We still think "Java-on-Java" is right direction for some components of HotSpot.
We learned a lot and made some progress with Graal as JIT in Metropolis. And we have got very good expertise from AOT
work which will help us with Project Leyden.
We will return to work on Metropolis later on. But right now, we think the work on C2 improvement is more important to
keep Java vibrant and competitive.
I will let Mark to talk about Project Leyden.
Best regards,
Vladimir Kozlov
>
> - 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