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

Roland Westrelin roland at openjdk.org
Mon Dec 15 16:29:46 UTC 2025


On Sat, 13 Dec 2025 02:01:10 GMT, Vladimir Ivanov <vlivanov at openjdk.org> wrote:

> 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

src/hotspot/share/opto/callGenerator.cpp line 529:

> 527:                                         allow_inline,
> 528:                                         _prof_factor,
> 529:                                         nullptr /*receiver_type*/,

Is there no benefit to passing `receiver_type` here?

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

PR Review Comment: https://git.openjdk.org/jdk/pull/28811#discussion_r2620062742


More information about the hotspot-compiler-dev mailing list