RFR: 8373633: C2: Use interface receiver type to improve CHA decisions [v2]

Vladimir Ivanov vlivanov at openjdk.org
Tue Jan 27 22:18:33 UTC 2026


> Strength-reducing an interface call to a virtual call for interfaces with
> unique implementors can use receiver type information to narrow the context.
> 
> C2 tracks interface types and receiver type information can be used to reveal
> an interface with a unique implementor which can't be derived from the call
> site itself.
> 
> Since C2 effectively accumulates a union interface type from multiple subtype checks, iterating over individual components of a type may reveal a candidate for a strength-reduction. The only prerequisite is that a candidate has to be a subtype of the declared interface.  
> 
> Testing: hs-tier1 - hs-tier5

Vladimir Ivanov 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 three additional commits since the last revision:

 - addtional case
 - Merge branch 'master' into cha.intf.recv
 - Use receiver type to improve CHA decisions

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/28811/files
  - new: https://git.openjdk.org/jdk/pull/28811/files/2551b03c..70ceb4bd

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=28811&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=28811&range=00-01

  Stats: 95946 lines in 3901 files changed: 48141 ins; 16836 del; 30969 mod
  Patch: https://git.openjdk.org/jdk/pull/28811.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/28811/head:pull/28811

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


More information about the hotspot-compiler-dev mailing list