HotSpot just got Hotter - IcedTea6 support for latest HotSpot
Andrew John Hughes
gnu_andrew at member.fsf.org
Mon Dec 1 16:10:32 PST 2008
On 01/12/2008, Mark Wielaard <mark at klomp.org> wrote:
> Hi Andrew,
> I CCed hotspot-dev to see if the hotspot hackers can also provide some
> feedback (on picking the right hotspot version to ship by default).
> On Mon, 2008-12-01 at 17:37 +0000, Andrew John Hughes wrote:
> > I've added two new options to IcedTea6:
> > --with-hotspot-build=x
> > --with-hotspot-src-zip=<path>
> > When --with-hotspot-build is given, the build will attempt to use the
> > specified version of HotSpot. The version numbers are contained in
> > the new file hotspot.map which maps build numbers to changesets. The
> > build number is also used in the name of some patches so correct
> > versions are applied. This may yet be simplified to just do old/new.
> > Feedback welcome.
> > With this patch, the build defaults to using hs14.0b08 (the current
> > OJ7 HotSpot) and will download this from hg.openjdk.java.net unless
> > --with-hotspot-src-zip is used. --with-hotspot-build=original or
> > --without-hotspot-build will disable this and return to the existing
> > hs10.0b19 version.
> Wow, this is pretty cool! It should make it much simpler to try out and
> use a newer hotspot with the stable, openjdk6 based, core.
> I think that supporting more than 2, lets call them "stable" and
> "latest", might be a bit ambitious. We risk having to try to keep up
> with all the different versions and duplicating all our patches against
> more and more versions. This is also why I CCed hotspot-dev, hopefully
> they can advise on the best values for "stable" (what is used in update
> 10 for example?) and "latest" (should be ok, but we wouldn't advise it
> for production yet).
I had similar thoughts as I was preparing the patch. I think as a
team we should keep support for two but maybe leave the infrastructure
in place so if anyone else feels the urge they can add more. In that
vein, I'll probably rename '14.0b08' to 'latest'.
6u10 ships 11.0b15 which predates hg. It might be in the old svn
repositories somewhere, I didn't check your hg work on
icedtea.classpath.org. My hope would be that Sun move to this for the
original bundle anyway. We can then support that and the latest build
fairly easily. The latest has to be support by IcedTea7 anyway (which
is what I used to create most of the 14.0b08 patches).
> Ideally, we make sure that the "stable" version is the version
> backported also to openjdk6 itself. Or maybe 3 versions at most
> "openjdk6 base", "stable/production", "latest"?
As I say, I would hope Sun would make the first two equivalent in
their bundles but they've already left us with an outdated HotSpot for
quite a while (6u10 has been out a bit now).
> Encoding the versions in the patch file names is slightly ugly imho. If
> at all possible try moving them into their own subdirectory. (This is
> more in general, not particular for your patch, the patches dir is
> growing at an alarming rate, I guess I should have done the subdir thing
> myself also for the new xrender patch set.)
I agree; we should probably make things hierarchical. 'ecj' is
probably also worthy of a subdirectory now I've started to split that
into separate patches (it was unmanageable as a homogeneous lump).
> Also it would be great to have hotspot patches that are just for any
> version. For example I saw the sparc-ptracefix that is identical for
> both versions (just a random pick, I didn't actually go over all
Ah ok that is strange because it didn't apply. I only created two
variants where the build failed to patch. Perhaps this is due to an
ugliness arising from the change of directory structure in 7. In 7,
builds end up in build not control/build and HotSpot's build machinery
is in hotspot/make not hotspot/build. You'll see I've also had to fix
Makefile.am to cope with this when applying Gary's zero work. This
may be the only difference in such patches.
You are right that ptracefix is identical though - maybe I screwed up
somewhere with the original patch.
> Note that the openjdk6 hotspot actually contains some tests that aren't
> in the newer hotspot repo. It would be nice if we never got less tests
> (currently there are 20, including one icedtea only one - the lucene
Yes we need a patch equivalent to the hotspot7 one which is only
applied for original builds. I also need to split out the lucene test
from the fix.
> Thanks for doing this. It will be nice to easily plug in newer hotspots.
Support Free Java!
Contribute to GNU Classpath and the OpenJDK
PGP Key: 94EFD9D8 (http://subkeys.pgp.net)
Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8
More information about the distro-pkg-dev