-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Support for Shenandoah GC #3472
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
@dougxc please advise |
Notice that this is mostly informational for now. We recently had a discussion with @thomaswue were we agreed that I file this issue to collect TODOs and a rough outline, also with an eye on possibly supporting Shenandoah in native-image. |
I'm closing this issue due to lack of activity. Please re-open it (and reassign) when/if there are plans to make progress on adding Shenandoah to Native Image. |
@dougxc I don't think this issue is related to Shenandoah on the native image but on the Graal Compiler. |
Ah yes, thanks for pointing that out. Still, the issue will remain closed until further plans are made for supporting Shenandoah in Graal (in any config). |
It's sad that there is no progress after 3 years, switching from G1 to Shenandoah massively reduced our spring-web latency. |
Please, re-open this issue. I'm resuming @rkennke work on this patch. |
I cannot seem to assign this back to me. I'm currently working on it, WIP PR is here: #10904 |
The Graal compiler currently does not support the Hotspot Shenandoah GC. Shenandoah GC is relevant in situations where latency is a concern, because it drastically reduces GC pause times. This is not only relevant in large-heap settings where GC tends to take a long time due to the size of live data that needs to be marked and relocated, but also in resource-constrained environment where even relatively little STW-work can balloon.
A first step in supporting Shenandoah GC in Graal compiler would be to implement the basic Shenandoah barriers:
This would be enough to support Graal compiler in JDK 11. However, additional features have been added between JDK 11 and JDK 17, which require extra work:
Both these features are not Shenandoah specific. For example, ZGC would also make use of them.
Much of the first step (JDK 11 support) is implemented in #2426.
The text was updated successfully, but these errors were encountered: