DaVinciMachine

From JVMLangSummit
Revision as of 11:28, 24 September 2008 by Penni (talk | contribs) (Abstract)
Jump to navigationJump to search

The Da Vinci Machine Project: Many Languages, One Machine

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

This page attempts to model a reasonable layout for most talk pages...

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

Talk Outline

(please expand cooperatively)

  • why invokedynamic?
  • why method handles?
  • other JVM futures

Key Issues for Discussion (cooperative)

(please expand cooperatively) Talk:DaVinciMachine