On Wed, 16 Jul 2025 20:47:23 GMT, Phil Race <[email protected]> wrote:
> Replace finalization with 2D Disposer
src/java.desktop/macosx/classes/sun/lwawt/macosx/CPrinterJob.java line 651:
> 649:
> 650: public void dispose() {
> 651: synchronized (lock) {
I do not think this synchronization is necessary. Before the patch it was used
to guard access to fNSPrintInfo field, which might have been lazily initialized
and disposed concurrently.
Now we use the Disposer only if fNSPrintInfo has been used and initialized ->
we saved it to NSPrintInfoDisposer and from that point it is never changed.
So we can drop the lock, and all check for the field(seems createNSPrintInfo
cannot return -1) + mark it as final
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/26359#discussion_r2212226803