CHA for interfaces in C2 compiler

Vladimir Ivanov vladimir.x.ivanov at
Wed Apr 15 16:26:15 UTC 2015


Type profiling reliably detects single interface implementation cases 
and type check overhead is completely eliminated in most of the cases 
(type checks are aggressively commoned).

Do you still think it is worth an effort?

Best regards,
Vladimir Ivanov

On 4/15/15 5:10 PM, Vitaly Davidovich wrote:
> Hi guys,
> So CHA on classes works nicely in the case of only one subtype loaded.
> What about interfaces? Currently, it looks like no such
> optimization/analysis is done.  In my experience, there's a substantial
> amount of code that exposes an interface via some API, but then loads
> only implementation of it.  The interface is used instead of abstract
> class to allow more flexibility in the future.
> I fully realize that lots of interfaces have more than 1 implementer
> loaded at runtime, but I also think it's worthwhile to attempt CHA for them.
> Is this something that's feasible to do? It would require more class
> loading dependencies to be tracked, but I'm also fine with having this
> be an extra flag that I can use to enable/disable this optimization.
> Thoughts?
> Thanks

More information about the hotspot-compiler-dev mailing list