On Tue, 15 Jul 2025 19:57:56 GMT, Phil Race <p...@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 <p...@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