RFR: 8359936: StableValues can release the underlying function after complete computation [v3]
Per Minborg
pminborg at openjdk.org
Thu Jun 19 12:52:29 UTC 2025
On Thu, 19 Jun 2025 09:59:41 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 eight additional commits since the last revision:
>
> - Merge branch 'master' into sv-release-supplier2
> - Fix performance regression
> - Clean up
> - Fix bug
> - Simplify
> - Revert to records
> - Make code more like the old one
> - Add removable underlying functions
Performance looks really good on all platforms except Linux AArch64, where there are significant regressions for:
* StableFunctionBenchmark.map
* StableFunctionBenchmark.staticIntFunction
* StableFunctionBenchmark.staticSMap
* StableIntFunctionBenchmark.intFunction
* StableIntFunctionBenchmark.staticIntFunction
These need to be addressed before integration.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/25878#issuecomment-2987956351
More information about the core-libs-dev
mailing list