RFR: 8365291: Remove finalize() method from sun/awt/X11InputMethodBase.java

Phil Race prr at openjdk.org
Tue Aug 12 19:03:23 UTC 2025


It seems that finalize() in X11InputMethodBase.java isn't useful.
It calls dispose(), which in all actual implementations has just one native resource to release, which
is a native struct of type X11InputMethodData (this is a JDK-defined struct, not one from Xim),
and one of the fields is a JNI GlobalRef pointing to the XInputMethod instance which implements the dispose() method.
So finalize cannot be called unless dispose() is called first. But if dispose() has been called then there's no need for
finalize() since all it does is call dispose()

Many more details in JBS.

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

Commit messages:
 - 8365291

Changes: https://git.openjdk.org/jdk/pull/26751/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=26751&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8365291
  Stats: 7 lines in 1 file changed: 0 ins; 7 del; 0 mod
  Patch: https://git.openjdk.org/jdk/pull/26751.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/26751/head:pull/26751

PR: https://git.openjdk.org/jdk/pull/26751


More information about the client-libs-dev mailing list