On Thu, 31 Jul 2025 13:31:49 GMT, Nikita Gubarkov <ngubar...@openjdk.org> wrote:
> For "true" null objects, reset the ref itself to null. Non-null ref with null > content means that the object was GC'ed. GC'ed state always behaves as > not-equal to the new one, causing corresponding ops to be written into RQ. > > Although I could not find practical scenarios where refs other than > `validPaintRef` could cause problems, this is generally fragile and > potentially problematic for any state object kept in weak ref. Therefore I > changed the usage of all weak refs in the same way. Changes requested by avu (Committer). src/java.desktop/share/classes/sun/java2d/pipe/BufferedContext.java line 103: > 101: protected static BufferedContext currentContext; > 102: > 103: private Reference<AccelSurface> validSrcDataRef = null; I think that you can wrap these fields into Optional ones to simplify the state change verification. ------------- PR Review: https://git.openjdk.org/jdk/pull/26576#pullrequestreview-3088271616 PR Review Comment: https://git.openjdk.org/jdk/pull/26576#discussion_r2254341082