speed of invokeExact
Jochen Theodorou
blackdrag at gmx.org
Wed May 8 03:23:44 PDT 2013
please forget what I wrote... I made a mistake
Am 08.05.2013 11:59, schrieb Jochen Theodorou:
> Am 07.05.2013 17:42, schrieb MacGregor, Duncan (GE Energy Management):
>> Which version of the jvm are you seeing this problem on, and are you
>> adapting the method handle every time as well as exact invoking it?
>
> the version is a 1.8.0-ea. Since this is a generic way of method
> invocation I have to adapt it a tiny bit (the arguments come in an Object[])
>
>> We avoided invoke and invokeExact calls from Java (because they were
>> sometimes painful to get correct in the case of varargs methods) by having
>> the fallbacks return the adapted method handle to an exact invoker, like
>> this
>>
>> MethodHandle invoker = MethodHandles.exactInvoker(type());
>> setTarget(MethodHandles.foldArguments(invoker, fallback));
>
> my handles originate from reflection. I don't get them new every time,
> still I have to adapt the handle for actual invocation... like this:
>
>> MethodHandle mh = call.target.asSpreader(Object[].class, call.args.length);
>> mh = MethodHandles.insertArguments(mh, 0, call.receiver);
>> mh = mh.asType(VC);
>
> mh is then used for the invocation using invokeExact
>
> bye blackdrag
>
--
Jochen "blackdrag" Theodorou - Groovy Project Tech Lead
blog: http://blackdragsview.blogspot.com/
german groovy discussion newsgroup: de.comp.lang.misc
For Groovy programming sources visit http://groovy-lang.org
More information about the mlvm-dev
mailing list