RFR: 8277848 Binding and Unbinding to List leads to memory leak [v8]

Florian Kirmaier fkirmaier at openjdk.org
Thu Jan 12 08:53:14 UTC 2023


> 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 with a new target base due to a merge or a rebase. The pull request now contains eight commits:

 - Merge remote-tracking branch 'origjfx/master' into JDK-8277848-list-binding-leak
   
   # Conflicts:
   #	modules/javafx.base/src/main/java/javafx/beans/property/ListPropertyBase.java
   #	modules/javafx.base/src/main/java/javafx/beans/property/SetPropertyBase.java
   #	modules/javafx.base/src/test/java/test/javafx/beans/property/SetPropertyBaseTest.java
 - Merge remote-tracking branch 'origjfx/master' into JDK-8277848-list-binding-leak
 - JDK-8277848
   Added tests to ensure no premature garbage collection is happening.
 - JDK-8277848
   Added 3 more tests to verify that a bug discussed in the PR does not appear.
 - JDK-8277848
   Added the 3 requests whitespaces
 - JDK-8277848
   Further optimization based code review.
   This Bugfix should now event improve the performance
 - JDK-8277848
   Added missing change
 - JDK-8277848
   Fixed memoryleak, when binding and unbinding a ListProperty. The same was fixed for SetProperty and MapProperty.

-------------

Changes: https://git.openjdk.org/jfx/pull/689/files
 Webrev: https://webrevs.openjdk.org/?repo=jfx&pr=689&range=07
  Stats: 247 lines in 6 files changed: 186 ins; 24 del; 37 mod
  Patch: https://git.openjdk.org/jfx/pull/689.diff
  Fetch: git fetch https://git.openjdk.org/jfx pull/689/head:pull/689

PR: https://git.openjdk.org/jfx/pull/689


More information about the openjfx-dev mailing list