RFR: 8361497: Scoped Values: orElse and orElseThrow do not access the cache

Alan Bateman alanb at openjdk.org
Tue Jul 8 18:06:39 UTC 2025


On Mon, 7 Jul 2025 16:13:08 GMT, Andrew Haley <aph at openjdk.org> wrote:

> Neither `ScopedValue.orElse` nor `ScopedValue.orElseThrow` consult the cache when searching for a binding. Neither do they update the cache when a binding is found.
> While this issue does not affect spec compliance, it is surprising to users that `x.orElse(other)` should be slower than `x.isBound ? x.get() : other`.

I did a first pass over this and I think it's okay. I'll do a second pass over it tomorrow.

-------------

PR Comment: https://git.openjdk.org/jdk/pull/26164#issuecomment-3049846551


More information about the core-libs-dev mailing list