On Jan 20, 2009, at 2:28 AM, Rémi Forax wrote:

MethodHandle supports was almost ready before John changes the format of
MethodType
(to add varargs bits)

Aghh! Stub out the varargs bits if you want; after using them a little I'm beginning to think they are not worth the trouble. Sorry for the thrash.

The key insight, I think, is that method handles are pure JVM-level behavior, without attached intentions like "I have an optional argument" or "I am a field setter"; that sort of information properly belongs in the (mangled) invocation name of invokedynamic, not wedged into the method handle or its type. The varargs bit in MethodType, although temptingly connected to the varargs bit in JVM methods, doesn't really help things fit together. In particular, there is no way (that I can see) to issue a true varargs call from bytecode. Given the following invokevirtual, where does the varargs part appear?

   invokevirtual java/dyn/MethodHandle, invoke, ([Ljava/lang/Object;)V

-- John
_______________________________________________
mlvm-dev mailing list
mlvm-dev@openjdk.java.net
http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev

Reply via email to