On Mon, 30 Jun 2025 15:55:03 GMT, Alan Bateman <al...@openjdk.org> wrote:
> There's something a bit uncomfortable about initializing hashGenerator in > ScopedValue's class initializer, then changing it in Constants class > initializer. Iimmediately clear what the memory model issues. It doesn't of > course matter if the stale value is used but I think confusing on first sight. That's fair. I think it's a benign race, but I guess that's still a race. > Have you tried dropping the initializer from ScopedValue so it hashGenerator > is only set by Constants? The ScopedValue constructor can call generateKey if > hashGenerator is null, and hashGenerator can become a stable field. That would be more explicit. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/26019#discussion_r2176792642