Difference between revisions of "Da Vinci Machine"

From JVMLangSummit
Jump to navigationJump to search
(New page: = Background = * project goal: changes to the JVM bytecode architecture * JVM has been language-independent from the beginning, but hasn't necessarily been optimal for non-Java languages *...)
 
Line 1: Line 1:
 +
== The Da Vinci Report ==
 +
John Rose - Sun
 +
 +
; Project: http://openjdk.java.net/projects/mlvm
 +
; Blog: http://blogs.sun.com/jrose
 +
; Slides: [[Image:DaVinciMachineTalk.pdf]]
 +
 +
=== Abstract ===
 +
We will survey the present state of the Da Vinci Machine Project, with special emphasis on the implementation and use of method handles and invokedynamic.
 +
 
= Background =
 
= Background =
 
* project goal: changes to the JVM bytecode architecture
 
* project goal: changes to the JVM bytecode architecture

Revision as of 11:39, 16 September 2009

The Da Vinci Report

John Rose - Sun

Project
http://openjdk.java.net/projects/mlvm
Blog
http://blogs.sun.com/jrose
Slides
File:DaVinciMachineTalk.pdf

Abstract

We will survey the present state of the Da Vinci Machine Project, with special emphasis on the implementation and use of method handles and invokedynamic.

Background

  • project goal: changes to the JVM bytecode architecture
  • JVM has been language-independent from the beginning, but hasn't necessarily been optimal for non-Java languages
  • first code posted in 2008, along with draft specifications for reviewer (JSR 292)
  • balancing specification with implementation: tail-calls, interface injection, invoke dynamic ("indy")

Current Status

  • active developer community on mailing list, IRC
  • programmers assigned to a number of key tasks in JSR 292

Future

  • fixnums and tuples handled better in the JVM