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