-
Notifications
You must be signed in to change notification settings - Fork 7
GC infrastructure #11
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
base: jdk25
Are you sure you want to change the base?
Conversation
|
@simonis : this PR provides the C++ infrastructure that simplifies the integration of HotSpot garbage collectors (like Shenandoah) into Native Image. Note that the first commit ("Remove unnecessary files") can't be opened on GitHub (the diff is probably too large). While I am working on the Java glue code, the interface between the C++ code and Native Image may continue to change a bit. So, I will probably force-push a few times to this branch. |
1418f0a to
2bbcd33
Compare
|
Hi @christianhaeubl , I'm starting to look into this more closely and have some questions:
Is this just a pointless artifact that we can ignore? More to follow :) |
|
Regarding 1: Regarding 2: Regarding 3:
Regarding 4: Regarding 5: |
| "Print extension of code cache") \ | ||
| \ | ||
| product(bool, ClassUnloading, true, \ | ||
| product(bool, ClassUnloading, trueInSvm, \ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@christianhaeubl, why have you set ClassUnloading to trueInSvm and ClassUnloadingWithConcurrentMark below to falseInSvm? I thought there is currently no runtime class loading/unloading in SubstrateVM, so shouldn't ClassUnloading be falseInSvm as well?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I initially enabled that option because HotSpot’s code unloading logic is more aligned with what Native Image needs when class unloading is active. However, this doesn't seem to be relevant anymore (the code unloading logic is now a custom SVM-specific implementation), so we can and probably should set both ClassUnloading and ClassUnloadingWithConcurrentMark to falseInSvm.
Provides infrastructure that simplifies the integration of HotSpot garbage collectors (like Shenandoah) into Native Image. Each commit in this PR can be reviewed on its own.