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.) Best wishes, -- John Rose [0] http://hgbook.red-bean.com/hgbookch12.html , http:// www.selenic.com/mercurial/wiki/index.cgi/MqExtension [1] http://openjdk.java.net/guide/producingChangeset.html [2] http://blogs.sun.com/jrose/entry/anonymous_classes_in_the_vm [3] http://mail.openjdk.java.net/pipermail/mlvm-dev/2008-April/ 000037.html [4] http://openjdk.java.net/projects/mlvm/subprojects.html#MethodHandles _______________________________________________ mlvm-dev mailing list [email protected] http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev
