On May 15, 2009, at 9:58 PM, Joseph D. Darcy wrote:

Hello.

Erik Trimble wrote:
Andrew John Hughes wrote:
2009/5/15 Erik Trimble <erik.trim...@sun.com>:

Andrew John Hughes wrote:

Hi all (especially Joe),

Now that the HotSpot Express repositories are available, what is the
plan for including hs14 in OpenJDK6?

I did a pull of the base changeset from HS express (0) into OpenJDK6's hotspot repo. yesterday as a test, and it seems to apply fairly well. The conflicts all seem to be whitespace changes (though there's a lot
of them -- ~210 files are affected).

Do we still plan to maintain a version of HotSpot in OpenJDK6 or will
HS Express just be used directly?

Thanks,


Frankly, I think this is up to the Community.

I'm still not 100% sure of the complete list of who has write access to the OpenJDK6 stuff, but I /think/ the proper way to do this is not move any HSX release into the main OpenJDK6 forest until there is consensus that It's
Time.



The list is here: http://db.openjdk.java.net/people for your
delectation and delight.


Thanks!


Now, that said, maybe It's Time Right Now.



IcedTea (i.e. the version of OpenJDK6 people are actually using on
their distros today) has already been shipping HotSpot 14 for some
time. So I think not only is the time right for OpenJDK6 upstream to
also upgrade, but that it's perhaps long overdue.


I'll check with Joe, but I think it's on my to-do list to push HSX14 to OpenJDK sometime before JavaOne.

That sounds good to me, modulo my preferences below...

Given that the HSX repos are going to be almost exclusively Sun- only writable (in practice, not necessarily by design), I think that the VM in
OpenJDK6 should be pulled from an HSX repo, and then have various
community-desired patches applied there, rather than try to work directly on an HSX repo. That is, I expect the various HSX repos to be a reflection of what Sun is doing, and the VM in OpenJDK6 should be a reflection of what the
Community chooses to do with the HSX work from Sun.



My preference would be for patches to go into HotSpot Express and then
OpenJDK6 just pull a stable version regularly.  I've already had
patches committed to HotSpot as have others working on IcedTea, so I
don't see an issue there.


Well, this needs further discussion. There's still some conflict here as to whether or not we're going to ship the Sun JDK 6 Update release train as a superset of the OpenJDK6 + HSX repositories, or if there will be things in those open repos that we exclude from the Sun JDK6 Updates.

If the first case is what is happening (i.e. Sun's JDK is a superset of OpenJDK6+HSX), then, yes, we (that is, the entire Community+Sun) should just patch the appropriate HSX repo, and periodically pull it over into the OpenJDK6 forest after stabilization. If, on the other hand, the second case is what is To Be, then only certain community-submitted patches will be integrated into HSX, which means that the actual development of Hotspot for OpenJDK6 will have to happen in the OpenJDK6 forest directly. In essence, if we chose the 2nd case, there will need to be 3 VM repositories: HSX for the stuff that's going to be the Sun JDK6 release, IceTea for the patches to the HSX repository that aren't going into Sun's JDK, and OpenJDK6, which is HSX+IceTea (stabilized).


In my estimation, the fixes desirable in a HS repository being used for Sun JDK stabilization and the fixes desirable for a HS repository being used for OpenJDK 6 and for IcedTea 6 are fundamentally the same in all cases: a stable HotSpot that runs fast enough. Around the margins, there may be some issues around if a particular patch is appropriate for the upstream sources, but the IcedTea HotSpot patches I've seen to fix things like build issues seem innocuous and appropriate for upstream to me.

My preference is essentially combining the HSX and OpenJDK 6 HS repositories; i.e. the OpenJDK 6 HS repository is the HSX stabilization repo. The alternative of periodically syncing HSX into OpenJDK 6 is possible too, but strikes me as a little extra work when we could just as easily tag or otherwise publicize "we think this version of the repo is good." The IcedTea HS patches could continue as needed, especially timing wise when release deadlines don't line up, but I think we should be able to get much less skew between the HotSpot in IcedTea and the stabilized HS in OpenJDK 6/HSX, which should bring benefits all around by getting more testing on (nearly) the same code base.

-Joe


Joe,

Architecturally, this seems to bring up an interesting point. Currently we build a set of "co-located" repositories -- i.e. a Mercurial forest. You are somewhat suggesting we break this paradigm, by using a tree (HotSpot) which is not directly within the forest. If we can figure out how to do that, then maybe we would also be able to use the same mechanism to handle corba/jaxws, jaxp, etc, which do not naturally live within our forests.

Maybe the top level repo could have optional Makefile targets to get copies of the latest preferred copies of these "imported" repositories. They would be "optional" in that they would be available for a user to invoke if they wanted to access and build using the imported repository, as compared to using the existing mechanism for importing built bits from an earlier build.

-- Jon

Reply via email to