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

Reply via email to