performance issue: 7023639: JSR 292 method handle invocation needs a fast path for compiled code
Charles Oliver Nutter
headius at headius.com
Wed Mar 2 09:42:55 PST 2011
On Tue, Mar 1, 2011 at 6:42 PM, John Rose <john.r.rose at oracle.com> wrote:
> At least the most important transforms should go through customized code. These include:
> - direct access (no transforms)
> - receiver binding (the bindTo transformation)
> - trivial asType transformations
> - invokeGeneric (argument and return value conversions to and from Object)
Is permute not included here? Given the JVM's ability to allocate
registers across calls, it seemed like permute would almost become a
no-op when optimized through.
I am currently using permute, insert, drop, and GWT (which of course
binds three handles that use some combination of the others). I expect
to also use array and field access handles in the future. Currently
only jitted Ruby code uses method handles (via invokedynamic, which as
you say should inline properly) but as we go forward there's potential
for the interpreter to use them as well. I suppose that's the case
you're talking about in this bug...from Java through MH (no indy) to
some target.
- Charlie
More information about the mlvm-dev
mailing list