JSR 292 x86 C1 support
John.Rose at Sun.COM
Wed Jan 27 13:07:24 PST 2010
On Jan 27, 2010, at 8:59 AM, Rémi Forax wrote:
> BTW, in case of an indy call because the only way to change it is to call
> CallSite.setTarget() (after bootstraping),
> I think it's better to don't test the target method handle at call site
> but instead to deopt if the target change.
> That what the backport does, and that why, I think, it still wins some of my benchs :)
> Perhaps this optimisation can only be done after implementing invalidation.
I agree. The hotspot RI polls before each call, which I think of as "pull notification".
The backport does "push notification", which is much faster. This is also the "Hotspot way" of doing things (e.g., devirtualization on class loading), and JSR 292 should do it this way.
For the next few months I expect to be working on functionality (e.g., MH.invokeGeneric, ldc of MH, invalidation) less than on performance tuning.
More information about the mlvm-dev