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

Reply via email to