I'm not sure to fully understand what you want to do,
anyway, a combination of spreadArguments + filterArguments +
collectArguments should do something near what you want.
spread transform an array into several arguments, filter allow you to
apply different methodhandles for each argument and collect is the dual
of spread so it takes several arguments and collect them to one array.
cheers,
Rémi
On 12/27/2013 06:28 PM, James Mitchell wrote:
On Friday, December 27, 2013 1:54:40 AM UTC-8, Martijn Verburg wrote:
Hi James,
Hopefully Charlie or someone else qualified can help, but this
list is usually pretty quiet. When you say Sun/Oracle forum, did
you mean the OpenJDK mailing lists or the actual Java forums?
<snip>
It was on the Java forums. My original post was....
MethodHandle combinators: simulating activation-records & ANF
<https://community.oracle.com/message/11309077#11309077>This
question is *Not Answered.
*
*JimDesu <https://community.oracle.com/people/JimDesu>* Dec 20,
2013 7:05 AMHi there,
I'm working my way through understanding Call Sites & Method
Handles for some interpreter work I'm considering, and everything
looks very sensible, except for argument marshalling... I'd like
to be able to have a MethodHandle combinator that takes a sequence
of MethodHandles and, for each one, an array of indices into an
Object[], such that the MethodHandle objects are executed
sequentially, with the values indicated passed in as each
MethodHandle's argument list --> the end result of the combinator
being a MethodHandle accepting the Object[] as an input and
returning it as an output.
I could write a method that did something analogous, calling each
MethodHandle in sequence, but I'd like to have the end result
being the generation of aload or aaload instructions to marshal
arguments, not the (much more expensive) creation, population &
spreading of new Object[] instances per MethodHandle call.
Can y'all recommend an approach that'll lead to optimal
performance vis-a-vis the design philosophy behind the invoke
package? I'm still a newbie here and am probably missing
something, but so far I'm missing it....
thanks,
James
Thanks y'all!
// James
--
You received this message because you are subscribed to the Google
Groups "JVM Languages" group.
To unsubscribe from this group and stop receiving emails from it, send
an email to jvm-languages+unsubscr...@googlegroups.com.
To post to this group, send email to jvm-languages@googlegroups.com.
Visit this group at http://groups.google.com/group/jvm-languages.
For more options, visit https://groups.google.com/groups/opt_out.
--
You received this message because you are subscribed to the Google Groups "JVM
Languages" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to jvm-languages+unsubscr...@googlegroups.com.
To post to this group, send email to jvm-languages@googlegroups.com.
Visit this group at http://groups.google.com/group/jvm-languages.
For more options, visit https://groups.google.com/groups/opt_out.