From c75534517729b903b63263cf64dc2ff841e3dcb1 Mon Sep 17 00:00:00 2001 From: Phil Race Date: Tue, 26 Aug 2025 18:54:16 +0000 Subject: [PATCH] 8365197: javax.imageio.stream MemoryCache based streams no longer need a disposer. Reviewed-by: psadhukhan, jdv, serb --- .../stream/MemoryCacheImageInputStream.java | 28 +------------------ 1 file changed, 1 insertion(+), 27 deletions(-) diff --git a/src/java.desktop/share/classes/javax/imageio/stream/MemoryCacheImageInputStream.java b/src/java.desktop/share/classes/javax/imageio/stream/MemoryCacheImageInputStream.java index 1799254c59a..0630e19e98c 100644 --- a/src/java.desktop/share/classes/javax/imageio/stream/MemoryCacheImageInputStream.java +++ b/src/java.desktop/share/classes/javax/imageio/stream/MemoryCacheImageInputStream.java @@ -27,8 +27,6 @@ package javax.imageio.stream; import java.io.InputStream; import java.io.IOException; -import sun.java2d.Disposer; -import sun.java2d.DisposerRecord; /** * An implementation of {@code ImageInputStream} that gets its @@ -48,12 +46,6 @@ public class MemoryCacheImageInputStream extends ImageInputStreamImpl { private MemoryCache cache = new MemoryCache(); - /** The referent to be registered with the Disposer. */ - private final Object disposerReferent = new Object(); - - /** The DisposerRecord that resets the underlying MemoryCache. */ - private final DisposerRecord disposerRecord; - /** * Constructs a {@code MemoryCacheImageInputStream} that will read * from a given {@code InputStream}. @@ -68,9 +60,6 @@ public class MemoryCacheImageInputStream extends ImageInputStreamImpl { throw new IllegalArgumentException("stream == null!"); } this.stream = stream; - - disposerRecord = new StreamDisposerRecord(cache); - Disposer.addRecord(disposerReferent, disposerRecord); } public int read() throws IOException { @@ -165,23 +154,8 @@ public class MemoryCacheImageInputStream extends ImageInputStreamImpl { */ public void close() throws IOException { super.close(); - disposerRecord.dispose(); // this resets the MemoryCache stream = null; + cache.reset(); cache = null; } - - private static class StreamDisposerRecord implements DisposerRecord { - private MemoryCache cache; - - public StreamDisposerRecord(MemoryCache cache) { - this.cache = cache; - } - - public synchronized void dispose() { - if (cache != null) { - cache.reset(); - cache = null; - } - } - } }