> The finalize() method is deprecated in JDK9. See [Java 9 deprecated 
> features](https://www.oracle.com/technetwork/java/javase/9-deprecated-features-3745636.html).
> And so the 
> [PiscesRenderer.finalize()](https://github.com/openjdk/jfx/blob/71ca899fbfc74d825c29b20a778d6d9eb243f90f/modules/javafx.graphics/src/main/java/com/sun/pisces/PiscesRenderer.java#L439)
>  and 
> [AbstractSurface.finalize()](https://github.com/openjdk/jfx/blob/71ca899fbfc74d825c29b20a778d6d9eb243f90f/modules/javafx.graphics/src/main/java/com/sun/pisces/AbstractSurface.java#L100)
>  method should be removed.
> 
> The change is,
> 1. Remove finalize method from PiscesRenderer and AbstractSurface classes.
> 2. Use 
> [Disposer](https://github.com/openjdk/jfx/blob/71ca899fbfc74d825c29b20a778d6d9eb243f90f/modules/javafx.graphics/src/main/java/com/sun/prism/impl/Disposer.java#L48)
>  class for cleanup instead of finalize().  For SW pipeline the cleanup is 
> initiated in 
> [here](https://github.com/openjdk/jfx/blob/71ca899fbfc74d825c29b20a778d6d9eb243f90f/modules/javafx.graphics/src/main/java/com/sun/javafx/tk/quantum/UploadingPainter.java#L195)
>  in UploadingPainer.java.
> 3. Added new JNI methods to JPiscesRenderer.c and JAbstractSurface.c and 
> removed the ones which were used previously with finalize() method.
> 
> Verification:
> Verified that the newly added dispose() methods get invoked as required and 
> no OOM occurs.
> 1. Create a sample program which adds and removes non 3D shapes and/or 
> controls to stage in a loop.
> 2. Run the program using -Dprism.order=sw,  -Dprism.verbose=true. (optional 
> -Xmx50m)
> Expected Behavior: 
> a. Maximum memory consumption after this change should reduce or remain same 
> as that of before this change.
> b. No OOM should occur with this change or without this change.

The pull request has been updated with a new target base due to a merge or a 
rebase.

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

Commits:
 - 0591e41f: 8235772: Remove use of deprecated finalize method from 
PiscesRenderer and AbstractSurface

Changes: https://git.openjdk.java.net/jfx/pull/66/files
 Webrev: https://webrevs.openjdk.java.net/jfx/66/webrev.01
  Stats: 110 lines in 5 files changed: 40 ins; 52 del; 18 mod
  Patch: https://git.openjdk.java.net/jfx/pull/66.diff
  Fetch: git fetch https://git.openjdk.java.net/jfx pull/66/head:pull/66

PR: https://git.openjdk.java.net/jfx/pull/66

Reply via email to