-
Notifications
You must be signed in to change notification settings - Fork 912
Master Filesystem Valhalla compatibility #8964
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
Conversation
This comment was marked as off-topic.
This comment was marked as off-topic.
This is not about editor support for JDK 26 or any editor features regarding value types. This PR so far is just here to allow (very) early testing of running NB on ea JDKs which have the JEP 401 implementation enabled. |
8b5381f to
561766c
Compare
|
while renovating the code I found more issues in E.g:
I might do some more cleanup as preparation for the fixes though. |
lahodaj
left a comment
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.
Looks sensible to me.
|
will rebase on top of #8799 so that we can test both valhalla related updates using the same dev build planning to integrate this this week, dependent on feedback. Thanks for the review! |
The WeakHashMap keys, which are used to track the lifecycle of BaseFileObj, must be identity objects. This is also a bugfix, since Integers are bad instances to track object reachablility due to the internal Integer auto boxing cache which holds a strong reference to some instances.
Language level bump, overrides and code simplifications.
|
all green, ran a indexer smoke test which indexed all ~850 nb modules using 26-jep401ea and checked a few things manually (eg some dialogs due to #8799) everything worked as before. thanks for the review -> merging |
first commit fixes the internal reference tracking
WeakHashMap:WeakHashMapkeys, which are used to track the lifecycle ofBaseFileObj, must be identity objects.Integersare bad reference strength indicators due to the internalIntegerboxing cache - some are always strongly reachablesecond commit is for module cleanup
tested using:
26-jep401ea2+1-1(don't forget-J--enable-preview)NB starts and projects load at least, but more work may be needed in other areas (did only very basic testing).
value object JEP: https://openjdk.org/jeps/401
meta issue #8256