On Mon, 24 Nov 2025 17:17:37 GMT, Chen Liang <[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 This has bitten me lot of times @liach 😢 Including others while reading/writing oop fields into arrays too; it would be nice to get an option to fail fast with an exception enabled via diagnostic args eg EnableStrictPolymorphicSignature Although Javac should be able to detect it too, thinking about it twice ------------- PR Comment: https://git.openjdk.org/jdk/pull/28475#issuecomment-3572001102
