There is no up-call. The JVM just tail-calls an adapter previously prepared by
the JDK runtime. So the interpreter has no special paths other than the slow
path with the tail call.
I think your implementation put the adapter on a method header. I put it on the
method type family (the "form").
Why do an upcall to Java? The conversions should be so simple that it
should be possible to handle them in the interpreter.
2010/9/12 John Rose :
> 6939224: MethodHandle.invokeGeneric needs to perform the correct set of
> conversions
>
> Until now, the HotSpot JVM has conflated invokeExact with i