RFR: 8255616: Disable AOT and Graal in Oracle OpenJDK

Monica Beckwith Monica.Beckwith at microsoft.com
Tue Nov 3 20:05:59 UTC 2020


Hi all,

First of all, big thanks to Volker for starting this discussion. As you all may have seen from the PRs we submitted last week [1] and our previous PR [2], we have been working on enabling JVMCI and AOT for Windows on Arm64. So RFR 8255616 came in as a surprise to us.

It would be really helpful for us to understand the implication of 8255616 on Projects Metropolis and Leyden.

We had started looking at Metropolis but more details on Leyden are hard to find. Given the interdependence of both these projects on the Graal compiler and the AOT/jaotc compiler, (as echoed by Volker), we would appreciate any guidance as to the future of these projects and of startup related improvements to C2.

Regards,

Monica
[1] https://github.com/openjdk/jdk/pull/972
[2] https://github.com/openjdk/jdk/pull/685



From: hotspot-dev <hotspot-dev-retn at openjdk.java.net>
Date: Tuesday, November 3, 2020 at 4:52 AM
To: Vladimir Kozlov <kvn at openjdk.java.net>
Cc: HotSpot Open Source Developers <hotspot-dev at openjdk.java.net>, Mark Reinhold <mark.reinhold at oracle.com>, discuss at openjdk.java.net <discuss at openjdk.java.net>
Subject: Re: RFR: 8255616: Disable AOT and Graal in Oracle OpenJDK
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] https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fopenjdk.java.net%2Fprojects%2Fgraal%2F&data=04%7C01%7Cmonica.beckwith%40microsoft.com%7Cfb701afe07bf4350b1c808d87fe68de3%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637399975490480155%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=ByrtmJ4lUa%2FoMsb1IEVM84FdUOEpT490i6BDVgvodBM%3D&reserved=0
[2] https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fopenjdk.java.net%2Fprojects%2Fmetropolis%2F&data=04%7C01%7Cmonica.beckwith%40microsoft.com%7Cfb701afe07bf4350b1c808d87fe68de3%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637399975490480155%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=sKccrirpZ68pkGRBpIkSb%2FPLt9RRoaQkQI5K24CgOe0%3D&reserved=0
[3] https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fmail.openjdk.java.net%2Fpipermail%2Fdiscuss%2F2020-April%2F005429.html&data=04%7C01%7Cmonica.beckwith%40microsoft.com%7Cfb701afe07bf4350b1c808d87fe68de3%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637399975490480155%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=Qlw%2BGU%2Fll%2BzS4k5AZUAwA5uwkH7el%2Bc7OKsDg6%2FE30E%3D&reserved=0
[4] https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fmail.openjdk.java.net%2Fpipermail%2Fdiscuss%2F2020-May%2F005475.html&data=04%7C01%7Cmonica.beckwith%40microsoft.com%7Cfb701afe07bf4350b1c808d87fe68de3%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637399975490480155%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=KK0MncJ%2FGkSMraj%2FU18N9KCrZ3pr4LrErteXbyf71IE%3D&reserved=0
[5] https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fmail.openjdk.java.net%2Fpipermail%2Fannounce%2F2020-June%2F000290.html&data=04%7C01%7Cmonica.beckwith%40microsoft.com%7Cfb701afe07bf4350b1c808d87fe68de3%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637399975490480155%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=zwrSmRIDezZTbRngLx1Wd5PjTL4yGMwtZRlwggieqFg%3D&reserved=0

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://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgit.openjdk.java.net%2Fjdk%2Fpull%2F960%2Ffiles&data=04%7C01%7Cmonica.beckwith%40microsoft.com%7Cfb701afe07bf4350b1c808d87fe68de3%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637399975490490115%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=HHHqkutDMOw0XV6PeYHxJ%2FbJvyeDHpJxSlUodWB3ygU%3D&reserved=0
>  Webrev: https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwebrevs.openjdk.java.net%2F%3Frepo%3Djdk%26pr%3D960%26range%3D00&data=04%7C01%7Cmonica.beckwith%40microsoft.com%7Cfb701afe07bf4350b1c808d87fe68de3%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637399975490490115%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=Pwozdi2R%2FUZZiLJbWzVTMCh48aCKgNHP8Zq0pDAlguU%3D&reserved=0
>   Issue: https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fbugs.openjdk.java.net%2Fbrowse%2FJDK-8255616&data=04%7C01%7Cmonica.beckwith%40microsoft.com%7Cfb701afe07bf4350b1c808d87fe68de3%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637399975490490115%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=orjYyCA36nFRXkZyleMN%2FUhcxmx7Cg%2FKTvMdwg5wn6M%3D&reserved=0
>   Stats: 36 lines in 4 files changed: 21 ins; 11 del; 4 mod
>   Patch: https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgit.openjdk.java.net%2Fjdk%2Fpull%2F960.diff&data=04%7C01%7Cmonica.beckwith%40microsoft.com%7Cfb701afe07bf4350b1c808d87fe68de3%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637399975490490115%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=pEkXolP4JV4LFOBGCeo1IWXyOv%2B9sWqFrd13tfhyKdU%3D&reserved=0
>   Fetch: git fetch https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgit.openjdk.java.net%2Fjdk&data=04%7C01%7Cmonica.beckwith%40microsoft.com%7Cfb701afe07bf4350b1c808d87fe68de3%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637399975490490115%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=njZ6RhwSFdlm79exUlbQ10xnLDxHFyby%2FePp7MVoQ38%3D&reserved=0 pull/960/head:pull/960
>
> PR: https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgit.openjdk.java.net%2Fjdk%2Fpull%2F960&data=04%7C01%7Cmonica.beckwith%40microsoft.com%7Cfb701afe07bf4350b1c808d87fe68de3%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637399975490490115%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=1hJxST7V7Lbp1VwT9gv04DLgTUh8qAPefAksjY0T8yM%3D&reserved=0


More information about the hotspot-dev mailing list