> On May 14, 2018, at 2:56 PM, Magnus Ihse Bursie 
> <magnus.ihse.bur...@oracle.com> wrote:
> 
> On 2018-05-11 23:33, Erik Joelsson wrote:
>> Hello,
>> 
>> For the build change, it's very undesirable to always have to relink libjvm 
>> on every incremental build. Such a change cannot be accepted.
>> 
>> I have a counter suggestion, which is still a bit of a hack, but it will 
>> cause vm_version.cpp to be recompiled (almost) every time libjvm.so needs to 
>> be relinked. The drawback is that compiling vm_version.cpp is now bound to 
>> happen absolutely last and so cannot happen in parallel with other 
>> compilations.
>> 
>> Webrev: http://cr.openjdk.java.net/~erikj/8202738/webrev.01/index.html
> 
> This looks as good as it can get for a simple fix, but I'd still like to get 
> on the record that I think the way we handle both __TIME__/__DATE__ in 
> hotspot, and ad-hoc version strings in general, is broken and leave much to 
> be desired.

+1 on the above (both the review and the usage of __TIME__/__DATE__).

Thanks!

Jiangli

> 
> /Magnus
> 
> 
> 
>> 
>> Bug: https://bugs.openjdk.java.net/browse/JDK-8202738
>> 
>> /Erik
>> 
>> 
>> On 2018-05-10 16:11, Jiangli Zhou wrote:
>>> Hi,
>>> 
>>> Please review the following webrev that addresses the issue of copied/moved 
>>> JDK image after generating a CDS archive. Thanks Karen Kinnear and Alan 
>>> Baterman for initiating the investigation & discussions in this area 
>>> (especially the ease of usage). Thanks Ioi for implementing a test case for 
>>> moved JDK (JDK-8202935).
>>> 
>>> webrev: http://cr.openjdk.java.net/~jiangli/8199807_8202738/webrev.00/
>>> RFE: https://bugs.openjdk.java.net/browse/JDK-8199807?filter=14921
>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8202738?filter=14921
>>> 
>>> The webrev includes the following three main parts:
>>> 
>>> 1. Reduced check for JDK ‘modules’ image file at runtime. The runtime path 
>>> to the ‘modules’ image is no longer required to the the same as dump time 
>>> path. Runtime performs file size check only for the ‘modules’ image, which 
>>> must match with the dump time ‘modules’ size. Invalidation of an outdated 
>>> archive is achieved by the existing vm_version string check (the archived 
>>> vm_version string must match with the runtime vm_version string).
>>> 
>>> 2. Boot path check are now performed based on the content of the archive. 
>>> Also added a new test case in BootClassPathMismatch.java and add more 
>>> comments for existing test cases.
>>> 
>>> 3. Fixed the stale vm_version string issue with incremental build. The 
>>> issue was discovered during the work of 8199807. CDS uses vm_version string 
>>> as part of the runtime validation check for archive. A stale vm_version 
>>> string causes the CDS runtime to mistakenly accept an outdated archive. The 
>>> fix is to make sure vm_version.o is recompiled properly when the library/vm 
>>> is rebuilt.
>>> 
>>> Tested with hs-tier1-4 and jdk-tier1-2. Tested by relocating the JDK image 
>>> manually after generating an archive. Also tested with Ioi’s test both 
>>> locally and via Mach5.
>>> 
>>> Thanks,
>>> Jiangli
>>> 
>> 
> 

Reply via email to