Master Filesystem Valhalla compatibility#8964
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. |
|
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