> 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 >>> >> >