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. -- John _______________________________________________ mlvm-dev mailing list mlvm-dev@openjdk.java.net http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev