Difference between revisions of "DaVinciMachine"

From JVMLangSummit
Jump to navigationJump to search
(Abstract)
 
Line 2: Line 2:
 
John Rose, Sun
 
John Rose, Sun
 
http://openjdk.java.net/projects/mlvm
 
http://openjdk.java.net/projects/mlvm
 
''This page attempts to model a reasonable layout for most talk pages...''
 
  
 
=== Abstract ===
 
=== Abstract ===
Line 17: Line 15:
  
 
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/.
 
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/.
=== Talk Outline ===
+
 
''(please expand cooperatively)''
+
=== Interesting Links ===
* why invokedynamic?
+
* [http://openjdk.java.net/projects/mlvm/subprojects.html Da Vinci Machine subproject page]
* why method handles?
+
* ''Experimental'' patches to javac to compile invokedynamic sites from Java source code:
* other JVM futures
+
** http://hg.openjdk.java.net/mlvm/mlvm/langtools/file/tip/quid.txt and quid.patch
 +
** http://hg.openjdk.java.net/mlvm/mlvm/langtools/file/tip/meth.txt and meth.patch
 +
* How to dump JVM machine code:  http://wikis.sun.com/display/HotSpotInternals/PrintAssembly
  
 
=== Key Issues for Discussion (cooperative) ===
 
=== Key Issues for Discussion (cooperative) ===
 
''(please expand cooperatively)''
 
''(please expand cooperatively)''
 
[[Talk:DaVinciMachine]]
 
[[Talk:DaVinciMachine]]

Latest revision as of 17:51, 29 September 2008

The Da Vinci Machine Project: Many Languages, One Machine

John Rose, Sun http://openjdk.java.net/projects/mlvm

Abstract

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.

http://wiki.jvmlangsummit.com/pdf/11_Rose_mlvm.pdf

Author Bio

(provided by author)

John Rose

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/.

Interesting Links

Key Issues for Discussion (cooperative)

(please expand cooperatively) Talk:DaVinciMachine