welcome to the Da Vinci archipelago

Charles Oliver Nutter charles.nutter at sun.com
Tue Apr 15 08:17:05 PDT 2008


John Rose wrote:
> As you can see from the Mercurial changeset notifications that just  
> went out, we have a repository for the Da Vinci Machine project.
> 
> The repository does not hold a separate copy of the JVM.  Rather, it  
> is a Mercurial patch repository[0], a system of version-controlled  
> patch files, each of which applies to the OpenJDK master source  
> repository.
> 
> At this point, there are three parts, three islands in what I trust  
> will someday be a thriving cyber-polynesia:
> 
> 0. The rules under which patches will co-exist are embodied in a  
> README, assisted by a few shell scripts.
> 1. The anonk patch set, an implementation of VM-native anonymous  
> classes, as previously blogged by me.
> 2. The callcc patch set, a first cut at VM-native continuations.
> 
> All of these are works in progress.  Please try out the setup, and if  
> you find something that doesn't work right or is unclear, please  
> propose a fix and send me a patch.  At first, I'll apply the patches,  
> with suitable Contributed-by lines.[1]
> 
> To start, pull http://hg.openjdk.java.net/mlvm/mlvm and read the  
> README.  Or just browse:  http://hg.openjdk.java.net/mlvm/mlvm/rev/ 
> 1e070e27ffd7
> 
> The anonk patch set is a proposed fast path[2] for loading bytecodes,  
> such as JRuby invokers.  It currently needs a pre-JDK7 emulation  
> package, which takes the bytes, applies the CP patches the hard way,  
> chooses a strange name (instead of no name), probably creates a fresh  
> class loader, and loads it up.
> 
> The callcc patch set is a proof of concept of the copyStack/ 
> restoreStack API.  It is an early snapshot of something Lukas Stadler 
> [3] is now working on.
> 
> Another island which will soon rise out of the sea will be the home  
> of method handles.[4]  Unlike the first two projects, method handles  
> are likely to be included in the first version of JSR 292, as an  
> essential underpinning of invokedynamic.  (Thus, it will be the first  
> civilized island, since it will evolve under JCP oversight.)

Excellent. I now also have a machine I should be able to get a build up 
and running on, so hopefully this week I can pull the bits together and 
give them a try.

I'm also interested in what we can do to help languages on pre-JDK7 
JVMs, since the vast majority of real users of JRuby (for example) could 
use some real help now. But I will look at your patches and try to 
formulate some strategy myself as well...

- Charlie



More information about the mlvm-dev mailing list