On Apr 8, 2014, at 1:53 AM, Vladimir Ivanov <vladimir.x.iva...@oracle.com> wrote:
> Thanks, Chris. > > I have to do one more iteration: > http://cr.openjdk.java.net/~vlivanov/8037210/webrev.05/ > > I have to revert changes related to BMH::reinvokerTarget. > > Removal of reinvokerTarget in generated concrete BMH classes introduces > serious performance regression, since BMH::reinvokerTarget is much more > complex than an accessor and it disturbs inlining decisions in too many > places. > OK, IIUC it's just reintroducing some original code back into BMH, nothing else has changed. If so +1 , lets get this pushed :-) I can now see why it might cause a perf issue if the following was used instead: @Override MethodHandle reinvokerTarget() { try { return (MethodHandle) argL(0); } catch (Throwable ex) { throw newInternalError(ex); } } Paul. [1] http://www.diffnow.com/?report=biopj