Some thoughts on the project's code evolution

Joseph D. Darcy Joe.Darcy at Sun.COM
Thu Feb 14 11:04:25 PST 2008


A few thoughts on the evolution of the code base, I estimate most of the 
remaining work for a fully open source and fully compatible Java SE 6 
implementation will be in the "jdk" area of the code, mostly the Java 
source for java.* and javax.* packages.  I think this project's efforts 
should be focused on clearing encumbrances and achieving compliance.

So as far as the VM goes, for OpenJDK 6 I think using a recent, but not 
bleeding edge, HotSpot may be the appropriate choice.  Unlike with the 
library code in the JDK 6 update and JDK 7 releases, the HotSpot team is 
trying out a somewhat different release model where they essentially use 
the some code base for both release families.  (Adopting this 
cross-version reuse is much more tractable in a component like HotSpot 
without many exported external interfaces, in contrast to the java.* and 
javax.* API.)

I'd recommend people interested in hacking the VM to work directly with 
the HotSpot team [1], with changes percolating back to OpenJDK 6 once 
they are fully vetted.  For example, the OpenJDK 6 HotSpot might be kept 
in sync with the version used in the latest shipping JDK 6 update 
release.  Today the initial source bundle for OpenJDK 6 is using the 
same HotSpot source as the recently-released JDK 6 update 4 (with the 
addition of a small patch to build under gcc 4).  The bleeding edge 
alternative would be to use the JDK 7 HotSpot Mercurial repository as 
the OpenJDK 6 Mercurial repository too, after the OpenJDK 6 Mercurial 
transition.

Comments?

-Joe

[1] http://openjdk.java.net/groups/hotspot/



More information about the jdk6-dev mailing list