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

Viktor Klang vklang at openjdk.org
Thu Apr 3 09:51:15 UTC 2025


On Thu, 3 Apr 2025 08:39:47 GMT, Per Minborg <pminborg at openjdk.org> wrote:

>> src/java.base/share/classes/java/lang/StableValue.java line 377:
>> 
>>> 375:  *
>>> 376:  * <h2 id="thread-safety">Thread Safety</h2>
>>> 377:  * The content of a stable value is guaranteed to be set at most once. If competing
>> 
>> Suggestion:
>> 
>>  * The contents of a stable value is guaranteed to be set at most once. If competing
>
> I think it should be "content" as only one element can be set?

I'm definitely not an expert here, so I'll defer to someone more knowledgable :)

>> src/java.base/share/classes/java/lang/StableValue.java line 384:
>> 
>>> 382:  * (e.g. {@linkplain #trySet(Object) trySet()})
>>> 383:  * {@linkplain java.util.concurrent##MemoryVisibility <em>happens-before</em>}
>>> 384:  * any subsequent read operation (e.g. {@linkplain #orElseThrow()}) that is successful.
>> 
>> Suggestion:
>> 
>>  * any successful read operation (e.g. {@linkplain #orElseThrow()}).
>
> A read operation that is made well before a write operation does mean the write operation happens before the read operation so I wanted to capture that using the work "subsequent". Did I miss something here?

I just thought it awkward to establish order (happens-before) by using a word like "subsequent" (which implies order).

>> src/java.base/share/classes/java/lang/StableValue.java line 567:
>> 
>>> 565:      * <p>
>>> 566:      * The provided {@code original} supplier is guaranteed to be successfully invoked
>>> 567:      * at most once even in a multi-threaded environment. Competing threads invoking the
>> 
>> There's a bit of a mix of "at most once" and "at-most-once". I'm fine with either but I prefer uniformity in spelling :)
>
> If "at most once" is an adjective then it should be spelled with dashes, otherwise not. 
> 
> "The method can be invoked at most once and hence It is an invoke-at-most-once method"

That sounds fair! 👍

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

PR Review Comment: https://git.openjdk.org/jdk/pull/23972#discussion_r2026617309
PR Review Comment: https://git.openjdk.org/jdk/pull/23972#discussion_r2026619405
PR Review Comment: https://git.openjdk.org/jdk/pull/23972#discussion_r2026620361


More information about the core-libs-dev mailing list