The Da Vinci Machine Project: Many Languages, One Machine
John Rose, Sun http://openjdk.java.net/projects/mlvm
It's a good decade to be a language designer, and a JVM implementor. This talk explains why, and describes current work on dynamic invocation and related extensions.
(provided by author)
John R. Rose is a Senior Staff Engineer on the Open JDK project. He has worked on Java(tm) technology at Sun since 1997, contributing widely to functionality and performance of the JDK stack. The variety of his past projects includes inner classes, the initial port of HotSpot to SPARC, the Unsafe API, profile-driven JIT optimizations, JVM metadata tuning for object processing, the Pack200 compression algorithm, and scripting language design and implementation, including the Groovy parser. Before 1997 at Sun he worked on dynamic and hybrid languages, including Common Lisp, Scheme ("esh"), and dynamic bindings for C++, as well as compiler advanced development. Still earlier he invented (with Guy Steele and Stephen Wolfram) the C* parallel language at Thinking Machines. In his school days, he earned degrees in mathematics and English literature, and he still enjoys classroom settings as an amateur high school teacher.
Most recently, as the JSR 292 lead, John has been working on specifying new support in the JVM standard for dynamic invocation and related facilities. John is founder of the Da Vinci Machine Project, which includes the Reference Implementation for JSR 292, as well as other more experimental JVM features, all of which are intended to serve the needs of programming language implementors. The project page is http://openjdk.java.net/projects/mlvm/. John's blog is http://blogs.sun.com/jrose/.
- Da Vinci Machine subproject page
- Experimental patches to javac to compile invokedynamic sites from Java source code:
- How to dump JVM machine code: http://wikis.sun.com/display/HotSpotInternals/PrintAssembly
Key Issues for Discussion (cooperative)
(please expand cooperatively) Talk:DaVinciMachine