More on: Small static method marked not entrant, inlining reversed?
john.r.rose at oracle.com
Wed Sep 22 19:06:32 PDT 2010
On Sep 22, 2010, at 1:24 PM, Tom Rodriguez wrote:
> So looking at the hierarchy is of little use for most of those interface types.
CHA starts with the scope type at a use point and tries to prove that there is only one method in the scope.
Profiling starts with the set of concrete precise types at a use point and tries to prove that there is only one method.
CHA starts with scope types (often abstract) and searches downward. A downward search from an interface fails (always?): this should be fixed.
Profiling starts with concrete types and currently fails if there is upward movement required. This should be fixed.
You guys are right that a more complex profiling mechanism would probably capture what's needed.
Basically, if the profile overflows, it could summarize with approximate information.
More subtly, we could also profile the target method(s) instead of the receiver class(es). The guard for that would require a vtable probe.
More information about the hotspot-compiler-dev