Class Hierarchy Analysis (CHA) is the optimization technique to figure out whether the class has implementors and how many of them. This allows devirtualizing the method calls even in the absence of profiling information. The most profitable case is the class with no subclasses at all, where JVM can devirtualize the call completely. CHA is now improved to handle interfaces. This allows JVM to optimize interface calls with just a few implementors, without having to collect profiling data.
|