On Wed, 5 Jan 2022 18:14:44 GMT, Florian Kirmaier <fkirma...@openjdk.org> wrote:
>> Making the initial listener of the ListProperty weak fixes the problem. >> The same is fixed for Set and Map. >> Due to a smart implementation, this is done without any performance drawback. >> (The trick is to have an object, which is both the WeakReference and the >> Changelistener) >> By implying the same trick to the InvalidationListener, this should even >> improve the performance of the collection properties. > > Florian Kirmaier has updated the pull request incrementally with one > additional commit since the last revision: > > JDK-8277848 > Further optimization based code review. > This Bugfix should now event improve the performance modules/javafx.base/src/main/java/javafx/beans/property/ListPropertyBase.java line 338: > 336: public void onChanged(Change<? extends E> change) { > 337: ListPropertyBase<E> ref = get(); > 338: if(ref != null) { Minor: space after `if` modules/javafx.base/src/main/java/javafx/beans/property/MapPropertyBase.java line 339: > 337: public void onChanged(Change<? extends K, ? extends V> change) { > 338: MapPropertyBase<K,V> ref = get(); > 339: if(ref != null) { Minor: space after `if` modules/javafx.base/src/main/java/javafx/beans/property/SetPropertyBase.java line 341: > 339: public void onChanged(Change<? extends E> change) { > 340: SetPropertyBase<E> ref = get(); > 341: if(ref != null) { Minor: space after `if` ------------- PR: https://git.openjdk.java.net/jfx/pull/689