On Mon, 24 Nov 2025 13:05:40 GMT, Francesco Nigro <[email protected]> wrote:

> This is boosting VirtualThread allocations while using 
> https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Thread.Builder.OfVirtual.html#name(java.lang.String,long)
> 
> The pattern has been discovered on 
> https://github.com/quarkusio/quarkus/issues/51201 and narrowed down in 
> https://github.com/franz1981/java-puzzles/commit/5cb4216e8d56cdc6c3c23629419158550cbd9068
> 
> which, on my machine (Ryzen 7950 w fixed frequency at 4.2 GHz):
> 
> Benchmark                                                                Mode 
>  Cnt   Score   Error  Units
> VarHandlePolymorphicSignatureSensitivity.rightVarHandle                  avgt 
>   10   1.852 ± 0.007  ns/op
> VarHandlePolymorphicSignatureSensitivity.rightVarHandleConcatIndy        avgt 
>   10   9.891 ± 0.103  ns/op
> VarHandlePolymorphicSignatureSensitivity.wrongVarHandle                  avgt 
>   10  10.430 ± 0.045  ns/op
> VarHandlePolymorphicSignatureSensitivity.wrongVarHandleConcatIndy        avgt 
>   10  19.312 ± 0.619  ns/op
> 
> where the `right` indy shows:
> <img width="1915" height="469" alt="image" 
> src="https://github.com/user-attachments/assets/4c836389-492b-4cc6-94a3-849f8cf6ea09";
>  />
> 
> vs the `wrong` one:
> <img width="1915" height="469" alt="image" 
> src="https://github.com/user-attachments/assets/73765060-8e95-42a2-a03a-4f53f927a8b8";
>  />

This is not the first time this VarHandle problem is hit - see #16451

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

Marked as reviewed by liach (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/28475#pullrequestreview-3501454383

Reply via email to