RFR: 8160821: VarHandle accesses are penalized when argument conversion is required [v4]

Vladimir Ivanov vlivanov at openjdk.org
Wed Dec 3 01:56:27 UTC 2025


On Tue, 2 Dec 2025 23:20:12 GMT, Chen Liang <liach at openjdk.org> wrote:

>> Since access descriptor is created for each VH operation site, we can optimistically cache the adapted method handle in a site if the site operates on a constant VH.  Used a C2 IR test to verify such a setup through an inexact VarHandle invocation can be constant folded through (previously, it was blocked by `asType`)
>
> Chen Liang 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:
> 
>  - Rollback getAndAdd for now
>  - Redundant change
>  - Merge branch 'master' of https://github.com/openjdk/jdk into fix/vh-adapt-cache
>  - Stage
>  - Review tweaks
>  - Tweak VH usage in some classes
>  - Logical fallacy
>  - 8160821

test/micro/org/openjdk/bench/java/lang/invoke/VarHandleExact.java line 81:

> 79: 
> 80:     @Benchmark
> 81:     public void generic_returnDroppingInvocation() {

What about "all-generic" case (` { generic.getAndAdd(data, 42); }`)?

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

PR Review Comment: https://git.openjdk.org/jdk/pull/28585#discussion_r2583363907


More information about the hotspot-compiler-dev mailing list