Few questions about invokeDynamic
assembling signals
assembling.signals at yandex.ru
Mon Nov 8 03:25:05 PST 2010
John, Remi, thank you both for your replies!
Now, I sadly don't exactly understand what that means:
> "doing a Lookup.findVirtual on MethodHandle.invokeGeneric."
I first do something such as MethodHandles.lookup().find[Virtual|Static] and the return is a method handle,
which I am using to do (let's say) invokeVarargs (as in my "benchmark" code).
And how "MethodHandles.spreadArguments()" could be useful to me, I have to figure out first ;)
May I ask, when the next merge of fresh code of MLVM (into the JDK7 mainline) could occur?
Thank you.
> Le 08/11/2010 07:43, John Rose a écrit :
> > On Nov 7, 2010, at 1:17 AM, assembling signals wrote:
> >
> >> For the use case "calling a method whose signature is unknown prior to runtime"
> >> (such as some lib, loaded externally) :
> > That's what MethodHandles.genericInvoker is for.
> >
> > You can also do this yourself by calling Lookup.findVirtual on MethodHandle.invokeExact. That reflective mechanism will hand you a capability to invoke any signature, even if you didn't spin bytecodes.
> John, You mean, doing a Lookup.findVirtual on MethodHandle.invokeGeneric.
> Ivan, you can also consider MethodHandles.spreadArguments().
More information about the mlvm-dev
mailing list