graal
graal copied to clipboard
[GR-45919] Add support for Generational ZGC on HotSpot
TL;DR
Add support for Generational ZGC (JEP 439) to the Graal compiler.
Goals
JDK 21 added support for Generational ZGC, which
Improve(s) application performance by extending the Z Garbage Collector (ZGC) to maintain separate generations for young and old objects. This will allow ZGC to collect young objects — which tend to die young — more frequently.
We plan to add support for required ZGC barriers along with any relevant performance optimizations to Graal, allowing the use of Generational ZGC when Graal is used as a JIT compiler.
Non-Goals
- Add support for (Generational) ZGC to GraalVM Native Image
- Add support for Shenandoah GC and other GCs
Related issues
- https://github.com/oracle/graal/issues/5050
Hello, are there any estimates or ideas of when this feature will be targeted/released for graal? I am just wondering a general release window or time frame.
It's targeted at 24.1
Thank you for letting me know this news has made my day :)
Very much looking forward to it
Is including (Generational) ZGC in native-image in discussions at all? If so, what is the timeframe?
Is including (Generational) ZGC in native-image in discussions at all?
It's listed as a non-goal of this roadmap item, so no this is not about making ZGC available in native-image. We currently don't have any plans to make ZGC available in native-image.
This can be moved to "done"and closed (I guess). https://github.com/oracle/graal/commit/1e27c43a5da0bdfbababaeaa2fe8f4d9f0553dc8 Thank you very much for your work.
Correct, @toinouH: this got merged as part of https://github.com/oracle/graal/pull/9040 :)
Congratulations!Waiting so long.
I'm afraid support for Generational ZGC was not backported to the release branch for JDK 23, which means it will ship with JDK 24 in March 2025. However, you can already try it out today using an early access build of Oracle GraalVM for JDK 24.
@fniephaus Delay can happen. People I talked too are already very happy that we can try it and we all thank you ❤️
NOTE: I noticed this benchmark is still disabled; I guess it's a left-over from pre-generational zgc :)
Thanks for your understanding, @toinouH! And yes, we'll enable the tests for this very soon. 🙂