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.

Reply via email to