Howto build an old version of hotspot (pre forest consolidation)

Erik Joelsson erik.joelsson at oracle.com
Mon Nov 13 16:43:52 UTC 2017


Hello Volker,

The recommended way of actually building source from pre-consolidation 
is to clone a tree from that day and age (jdk9 in this case). That said, 
it should be possible to build the consolidated repo as well (as long as 
you are working in an OpenJDK only situation).

The merge of the repos is only actually correct at the tags. Between 
tags, each old repo moves on its own, with the rest of the repos sitting 
still on the last tag, then at the next tag, they are all merged 
together again. So in your case (provided I got it all right), if you 
first sync to jdk-9+104, that is a verified equivalent to the combined 
tags of jdk-9+104 pre-consolidation. If you then sync to a hotspot 
change after that, the rest of the repos should sit still at 104. This 
does not guarantee that the consolidated repo builds on all or any of 
those changes since we can't know which combination of changes were ever 
actually a working set of tips in the old forest, except for the 
promoted tags.

Also note that just because a change in the hotspot subtree has a higher 
number than the tagged jdk-9+104, it does not necessarily mean it is a 
descendant of jdk-9+104. Especially for hotspot, since it was merged 
through one or two side forests, many of the new changes in 105 likely 
have parents much older than that. To find the relevant list of hotspot 
changes to try to build, you need to do a more advanced revset query, 
looking for descendants of 104 and ancestors of 105. Many of these 
changes will be merges that brought the actual changes in, typically 
when the integrator brought 104 down from dev.

/Erik


On 2017-11-13 08:09, Volker Simonis wrote:
> Hi,
>
> can somebody provide any hints on how to build an older version of
> hotspot in the correct context?
>
> I have a reproducible hotspot crash which occurs with jdk-9+105 but
> not with jdk-9+104. I can sync to both tags and successfully build the
> corresponding jdk. But it seems impossible to update the hotspot repo
> to a change between  jdk-9+104 and jdk-9+105 and build the complete
> jdk because I always get some wired build errors (no difference if the
> other repos are on  jdk-9+104 or jdk-9+105). It seems that the hotspot
> revisions between jdk-9+104 and jdk-9+105 are based on some older
> versions of jdk. Is there s simple way how I can find out on which
> version?
>
> Thank you and best regards,
> Volker




More information about the build-dev mailing list