RFR: 8359936: StableValues can release the underlying function after complete computation [v5]

Viktor Klang vklang at openjdk.org
Wed Aug 13 11:39:16 UTC 2025


On Tue, 12 Aug 2025 09:21:07 GMT, Per Minborg <pminborg at openjdk.org> wrote:

>> This PR proposes to release the underlying function if a stable function or collection has invoked its underlying supplier exhaustively so that it can be collected.
>> 
>> This PR passes tier1, tier2, and tier3 testing on multiple platforms.
>
> Per Minborg has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains 12 additional commits since the last revision:
> 
>  - Add comment for outer.outer
>  - Merge branch 'master' into sv-release-supplier2
>  - Merge branch 'master' into sv-release-supplier2
>  - Add a new method to StableValueImpl for improved speed
>  - Merge branch 'master' into sv-release-supplier2
>  - Fix performance regression
>  - Clean up
>  - Fix bug
>  - Simplify
>  - Revert to records
>  - ... and 2 more: https://git.openjdk.org/jdk/compare/b367a692...243479df

src/java.base/share/classes/jdk/internal/lang/stable/StableEnumFunction.java line 52:

> 50:  *                         of the valid inputs (as there might be "holes")
> 51:  * @param delegates        a delegate array of inputs to StableValue mappings
> 52:  * @param underlyingHolder of the original underlying Function

Suggestion:

 * @param underlyingHolder the holder of the original underlying Function

src/java.base/share/classes/jdk/internal/lang/stable/StableFunction.java line 45:

> 43:  *
> 44:  * @param values           a delegate map of inputs to StableValue mappings
> 45:  * @param underlyingHolder of the original underlying Function

Suggestion:

 * @param underlyingHolder the holder of the original underlying Function

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

PR Review Comment: https://git.openjdk.org/jdk/pull/25878#discussion_r2273099020
PR Review Comment: https://git.openjdk.org/jdk/pull/25878#discussion_r2273102356


More information about the core-libs-dev mailing list