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

Reply via email to