On Thu, 2 Oct 2025 10:51:08 GMT, Per Minborg <[email protected]> wrote:
> Implement JEP 526: Lazy Constants (Second Preview)
>
> The lazy list/map implementations are broken out from `ImmutableCollections`
> to a separate class.
>
> The old benchmarks are not moved/renamed to allow comparison with previous
> releases.
>
> `java.util.Optional` is updated so that its field is annotated with
> `@Stable`. This is to allow `Optional` instances to be held in lazy
> constants and still provide constant folding.
src/java.base/share/classes/java/lang/LazyConstant.java line 155:
> 153: * {@code final} fields of any newly created objects, are safely
> published.
> 154: * <p>
> 155: * The computing function runs on the caller’s thread.
Here you might define "we call that thread the computing thread" -- this might
be useful when defining other concepts in this section (maybe)
src/java.base/share/classes/java/lang/LazyConstant.java line 157:
> 155: * The computing function runs on the caller’s thread.
> 156: * <p>
> 157: * If a thread that is blocked by another computing thread is
> interrupted, this is not
I'm not sure I understand what you mean in this para
src/java.base/share/classes/java/lang/LazyConstant.java line 172:
> 170: * (e.g. in cases where the lazy constant itself is stored in a
> 171: * {@code static final} field) or forms a trusted chain to such a VM
> constant via
> 172: * one or more layers of a {@linkplain Record record} fields or final
> fields
one or more layers of "trusted" fields -- then in parenthesis you say what
these "trusted" fields are.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/27605#discussion_r2426383095
PR Review Comment: https://git.openjdk.org/jdk/pull/27605#discussion_r2426379186
PR Review Comment: https://git.openjdk.org/jdk/pull/27605#discussion_r2426387301