RFR: 8351565: Implement JEP 502: Stable Values (Preview) [v40]

Archie Cobbs acobbs at openjdk.org
Thu Apr 3 14:23:12 UTC 2025


On Thu, 3 Apr 2025 14:00:00 GMT, Per Minborg <pminborg at openjdk.org> wrote:

>> Implement JEP 502.
>> 
>> The PR passes tier1-tier3 tests.
>
> Per Minborg has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Make the sqrt example different

src/java.base/share/classes/java/lang/StableValue.java line 383:

> 381:  * (e.g. {@linkplain #trySet(Object) trySet()})
> 382:  * {@linkplain java.util.concurrent##MemoryVisibility <em>happens-before</em>}
> 383:  * any subsequent read operation (e.g. {@linkplain #orElseThrow()}) that is successful.

Is `isSet()` also considered to be a "read operation"? I would assume so, but that requires a bit of reading between the lines. Maybe `isSet()` could be added as another parenthetical example after `orElseThrow()` here to squash that particular ambiguity.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/23972#discussion_r2027115078


More information about the core-libs-dev mailing list