On Wed, 23 Apr 2025 07:41:36 GMT, Per Minborg <pminb...@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: > > Remove section on fun/coll sync Here is a PR update applicable for https://github.com/openjdk/jdk/pull/23972/commits/1a25b8639b15228287da59fa0856eec1141d5021: Tests in tier1, tier2, and tier3 pass in a multi-machine CI pipeline. Here is a link to the generated JavaDocs: https://cr.openjdk.org/~pminborg/stable-values2/api/java.base/java/lang/StableValue.html Here are the current benchmark outputs (for an M1 on macOS Sequoia 15.4): Benchmark Mode Cnt Score Error Units StableFunctionBenchmark.function avgt 10 4.612 ± 0.882 ns/op StableFunctionBenchmark.map avgt 10 4.738 ± 0.920 ns/op StableFunctionBenchmark.staticIntFunction avgt 10 1.653 ± 0.037 ns/op StableFunctionBenchmark.staticSMap avgt 10 2.771 ± 1.747 ns/op StableFunctionSingleBenchmark.function avgt 10 4.268 ± 0.085 ns/op StableFunctionSingleBenchmark.map avgt 10 4.241 ± 0.095 ns/op StableFunctionSingleBenchmark.staticIntFunction avgt 10 0.703 ± 0.009 ns/op StableFunctionSingleBenchmark.staticSMap avgt 10 0.727 ± 0.055 ns/op StableIntFunctionBenchmark.intFunction avgt 10 1.543 ± 0.038 ns/op StableIntFunctionBenchmark.list avgt 10 1.532 ± 0.061 ns/op StableIntFunctionBenchmark.staticIntFunction avgt 10 3.602 ± 0.079 ns/op StableIntFunctionBenchmark.staticList avgt 10 2.279 ± 1.932 ns/op StableIntFunctionSingleBenchmark.intFunction avgt 10 2.434 ± 0.044 ns/op StableIntFunctionSingleBenchmark.list avgt 10 2.547 ± 0.125 ns/op StableIntFunctionSingleBenchmark.staticIntFunction avgt 10 0.694 ± 0.026 ns/op StableIntFunctionSingleBenchmark.staticList avgt 10 0.691 ± 0.018 ns/op StableMethodHandleBenchmark.atomic avgt 10 3.673 ± 0.069 ns/op StableMethodHandleBenchmark.dcl avgt 10 3.645 ± 0.390 ns/op StableMethodHandleBenchmark.finalMh avgt 10 0.712 ± 0.123 ns/op StableMethodHandleBenchmark.map avgt 10 7.431 ± 0.314 ns/op StableMethodHandleBenchmark.nonFinalMh avgt 10 3.170 ± 0.094 ns/op StableMethodHandleBenchmark.stableMap avgt 10 0.695 ± 0.026 ns/op StableMethodHandleBenchmark.stableMh avgt 10 0.698 ± 0.032 ns/op StableSupplierBenchmark.stable avgt 10 1.390 ± 0.055 ns/op StableSupplierBenchmark.staticStable avgt 10 0.373 ± 0.049 ns/op StableSupplierBenchmark.staticSupplier avgt 10 0.352 ± 0.010 ns/op StableSupplierBenchmark.supplier avgt 10 1.610 ± 0.125 ns/op StableValueBenchmark.atomic avgt 10 1.424 ± 0.055 ns/op StableValueBenchmark.dcl avgt 10 1.412 ± 0.044 ns/op StableValueBenchmark.refSupplier avgt 10 0.458 ± 0.021 ns/op StableValueBenchmark.stable avgt 10 1.400 ± 0.066 ns/op StableValueBenchmark.stableNull avgt 10 1.185 ± 0.068 ns/op StableValueBenchmark.staticAtomic avgt 10 1.190 ± 0.046 ns/op StableValueBenchmark.staticDcl avgt 10 0.342 ± 0.014 ns/op StableValueBenchmark.staticHolder avgt 10 1.479 ± 0.181 ns/op StableValueBenchmark.staticRecordHolder avgt 10 0.339 ± 0.013 ns/op StableValueBenchmark.staticStable avgt 10 0.336 ± 0.018 ns/op VarHandleHolderBenchmark.confinedStableFunctionLoop avgt 5 226.868 ± 2.850 ns/op VarHandleHolderBenchmark.confinedStableMapElementLoop avgt 5 147.140 ± 2.885 ns/op VarHandleHolderBenchmark.confinedStableMapLoop avgt 5 226.109 ± 5.524 ns/op VarHandleHolderBenchmark.confinedStableValueLoop avgt 5 146.908 ± 1.027 ns/op VarHandleHolderBenchmark.confinedUnmodifiableMapLoop avgt 5 147.872 ± 6.520 ns/op VarHandleHolderBenchmark.confinedVarHandleLoop avgt 5 139.456 ± 3.091 ns/op ------------- PR Comment: https://git.openjdk.org/jdk/pull/23972#issuecomment-2823529097