CHA for interfaces in C2 compiler
vladimir.x.ivanov at oracle.com
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?
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.
More information about the hotspot-compiler-dev