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-...@openjdk.java.net http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev -- You received this message because you are subscribed to the Google Groups "JVM Languages" group. To post to this group, send email to jvm-languages@googlegroups.com. To unsubscribe from this group, send email to jvm-languages+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/jvm-languages?hl=en.