Really it's similar to lazy constants, but we use invokeDynamic for global variable access which we have a lot of since our language is exemplar based we have a lot of globals that hold those exemplars. The name of the global is passed as an argument to the bootstrap and this returns a constant call site that gets or sets the value in a bound storage cell.
-----Original Message----- From: mlvm-dev-boun...@openjdk.java.net [mailto:mlvm-dev-boun...@openjdk.java.net] On Behalf Of Charles Oliver Nutter Sent: 17 April 2012 18:30 To: Da Vinci Machine Project; JVM Languages Subject: Clever uses of InvokeDynamic I'm filling out the remaining slides in my JAX keynote on InvokeDynamic, and I'm interested in additional "clever" uses of invokedynamic folks have discovered. I have included the following, which we make use of in JRuby: * Dynamic invocation (obviously) * Lazy constants * Multiple dispatch I'll also make a brief mention of MethodHandle as a replacement for java.lang.reflect stuff. Other good ones for a room full of people learning invokedynamic for the first time? - Charlie _______________________________________________ mlvm-dev mailing list mlvm-dev@openjdk.java.net http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev _______________________________________________ mlvm-dev mailing list mlvm-dev@openjdk.java.net http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev