Clever uses of InvokeDynamic

MacGregor, Duncan (GE Energy) duncan.macgregor at ge.com
Fri Apr 20 02:23:30 PDT 2012


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-bounces at openjdk.java.net
[mailto:mlvm-dev-bounces at 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 at openjdk.java.net
http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev


More information about the mlvm-dev mailing list