Hi John,

The following program:

--- LinkageTest.java ---
import java.dyn.*;
import java.io.*;


public class LinkageTest {
     public static void main(String[] argv) {
         System.exit(run(argv, System.out));
     }

     public static int run(String[] argv, PrintStream out) {
         Linkage.registerBootstrapMethod("bsm");
         InvokeDynamic.<void>dm();
         out.println("OKAY");
         return 0;
     }

     public static void m() {
         System.out.print("m() ");
         return;
     }

     private static CallSite bsm(Class caller, String name, MethodType type) {
         MethodHandle target = MethodHandles.lookup().findStatic(
                 LinkageTest.class, "m", MethodType.make(void.class));
         CallSite site = new CallSite(caller, name, type);
         site.setTarget(target);
         return site;
     }
}
--- LinkageTest.java ---

doesn't throw any exceptions under jdk7-b59:

$ java -XX:+EnableInvokeDynamic -XX:+EnableMethodHandles LinkageTest
m() OKAY

That looks like a bug.

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

Reply via email to