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

Chen Liang liach at openjdk.org
Mon Dec 15 17:10:24 UTC 2025


> 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 20 additional commits since the last revision:

 - Merge branch 'master' of https://github.com/openjdk/jdk into fix/vh-adapt-cache
 - Stage
 - Merge branch 'master' of https://github.com/openjdk/jdk into fix/vh-adapt-cache
 - Review
 - Merge branch 'master' of https://github.com/openjdk/jdk into fix/vh-adapt-cache
 - Bugs and verify loader leak
 - Try to avoid loader leak
 - Merge branch 'master' of https://github.com/openjdk/jdk into fix/vh-adapt-cache
 - Revert void special case removal due to C2 shortage causing TestZGCBarrierElision::testAtomicThenAtomicAnotherField failure
 - Test from Jorn
 - ... and 10 more: https://git.openjdk.org/jdk/compare/f5945cc1...f9d808c1

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/28585/files
  - new: https://git.openjdk.org/jdk/pull/28585/files/d734e8a6..f9d808c1

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=28585&range=09
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=28585&range=08-09

  Stats: 19890 lines in 378 files changed: 12699 ins; 4700 del; 2491 mod
  Patch: https://git.openjdk.org/jdk/pull/28585.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/28585/head:pull/28585

PR: https://git.openjdk.org/jdk/pull/28585


More information about the build-dev mailing list