There are building instructions in the workspace itself: http://hg.openjdk.java.net/mlvm/mlvm/file/tip/README.txt
Make a directory which will contain both sets of repositories (patches and full sources), and pull everything there.
The sources repository based at http://hg.openjdk.java.net/hsx/hotspot-comp (This is as of 9/2011; earlier they were based at jdk7/jdk7 and then at bsd-port/bsd-port.)
Then create symbolic links to the patch directories from the corresponding .hg directories of the full sources. There is a shell script which will do this automatically, or you can do it by hand.
Since patches are guarded, you need a non-empty guards file in order to apply patches. Select the desired guards in each source repository that has a patch queue. There is a shell script which will distribute the hg command to each patch queue, or you can do it by hand:
The shell script current-release.sh simply digs out the most recent release hash from the source repository; it will be something like 7836be3e92d0.
For convenience, everything after the fclone operations is packaged up in a makefile, which you can invoke on a variety of targets:
Things to watch out for in the makefile:
- The check and force targets are hyper-conservative, assuming the patches are worthless unless the base revision matches exactly.
- The check target is likely to fail unless the base revision has been forced, but if it passes you can expect the patches to apply cleanly.
- The build target is probably oversimplified.
Once patches are applied, build as usual. Build instructions are posted with the OpenJDK Build Group.
TO DO: What are other good references to build advice?
For the most basic JVM enhancements, you may only need to build a Hotspot JVM and apply incremental testing, rather than build a whole JDK/JRE. See the patch document files, or this wiki, for information about incremental testing procedures for specific patch sets.