Integrated: 8362289: [macOS] Remove finalize method in JRSUIControls.java
Phil Race
prr at openjdk.org
Thu Jul 24 20:55:59 UTC 2025
On Tue, 15 Jul 2025 19:57:56 GMT, Phil Race <prr at openjdk.org> wrote:
> Eliminate a finalize() method in the Swing macOS implementation.
>
> I tested that the dispose method is being called by running this small test in combination with some 'println' statements in the source code (now removed)
>
> import javax.swing.JTabbedPane;
> import javax.swing.plaf.TabbedPaneUI;
>
> public class CreateTabbedPaneUIStressTest {
>
> public static void main(String[] args) {
> for (int i=0; i<1000000000; i++) {
> JTabbedPane jtp = new JTabbedPane();
> TabbedPaneUI tpui = jtp.getUI();
> }
> }
> }
>
>
> I also monitored the process size using 'top'.
> And when I commented out the native call that did the free and re-tested I saw process size grow.
>
> Turning the above into a useful regression test doesn't seem possible to me.
> Limiting Java heap is pointless (and I did use -Xmx20m) since it is a native resource that is to be freed and failure to dispose won't show up as a problem without taking down the machine.
This pull request has now been integrated.
Changeset: 971ea23c
Author: Phil Race <prr at openjdk.org>
URL: https://git.openjdk.org/jdk/commit/971ea23c95764e11ed234f657eb28ba7c51862c5
Stats: 19 lines in 1 file changed: 12 ins; 0 del; 7 mod
8362289: [macOS] Remove finalize method in JRSUIControls.java
Reviewed-by: bchristi, serb
-------------
PR: https://git.openjdk.org/jdk/pull/26331
More information about the client-libs-dev
mailing list