Folks (well, primarily John I think), I'm trying to write a testcase for an invokedynamic call that specifies "dyn:getprop:helloText" as the method name. So far, I've tried the following (all using ASM to generate bytecode as I don't know what if any is the javac-recognized syntax for these):
1. specify the name verbatim as "dyn:getprop:helloText" in the argument to invokedynamic. Gives me the following exception when I call CallSite.nameComponents(): [junit] java.lang.Character [junit] java.lang.ArrayStoreException: java.lang.Character [junit] at sun.dyn.util.BytecodeName.parseBytecodeName(BytecodeName.java:324) [junit] at java.dyn.CallSite.nameComponents(CallSite.java:224) [junit] at org .dynalang .dynalink.beans.BeansLinker.getGuardedInvocation(BeansLinker.java:29) [junit] at org .dynalang .dynalink .support.DynamicLinkerImpl.relinkAndInvoke(DynamicLinkerImpl.java:68) [junit] at sun.dyn.FilterGeneric$F0.invoke_C0(FilterGeneric.java: 343) [junit] at sun.dyn.ToGeneric$A0.target(ToGeneric.java:625) [junit] at sun.dyn.ToGeneric$A0.targetA0(ToGeneric.java:626) [junit] at sun.dyn.ToGeneric$A0.invoke_L(ToGeneric.java:627) [junit] at org .dynalang .dynalink.GreeterDriverImpl.invokeGetHelloText(GreeterDriverImpl.java: 23) [junit] at org.dynalang.dynalink.TestGreeterDriver.testAll(TestGreeterDriver.java: 10) 2. specify the name mangled as either "\=dyn\!getprop\!helloText" or "dyn\!getprop\!helloText". In neither case will CallSite.name() demangle it, nor will CallSite.nameComponents() either demangle or tokenize it - I get back a single-element array with the full mangled name. Am I doing something wrong? Attila. _______________________________________________ mlvm-dev mailing list mlvm-dev@openjdk.java.net http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev