RFR: Backport JDK-8074037, JDK-8075210, JDK-8027962 and also JDK-8061630, JDK-8051837 to 8u

Eric Caspole eric.caspole at oracle.com
Wed Mar 25 14:07:43 UTC 2015

Looks good to me, although I have never tried a backport before.
It is worthwhile to get this better stats system collection in use.

I did not follow why the

#include "runtime/atomic.inline.hpp"

got added into this middle step merge:


but I saw it was removed in the final merge:



On 3/25/2015 8:45 AM, Bengt Rutisson wrote:
> Hi all,
> I would like to backport this fix to the 8 update repo:
> JDK-8027962: Per-phase timing measurements for strong roots processing
> https://bugs.openjdk.java.net/browse/JDK-8027962
> This fix was originally intended for the 8u branch. During the review 
> process it was decided to take on a couple of broader cleanup fixes to 
> make it easier to address JDK-8027962. So, the work was split up into 
> three separate changes. This means that to backport JDK-8027962 I also 
> need to backport these two changes:
> JDK-8074037: Refactor the G1GCPhaseTime logging to make it easier to 
> add new phases
> https://bugs.openjdk.java.net/browse/JDK-8074037
> JDK-8075210: Refactor strong root processing in order to allow G1 to 
> evolve separately from GenCollectedHeap
> https://bugs.openjdk.java.net/browse/JDK-8075210
> The 8u branch has deviated a bit from the JDK 9 branch so the above 
> changesets do not apply cleanly. Two small fixes cause conflicts, so I 
> would like to backport those changes as well:
> JDK-8061630: G1 iterates over JNIHandles two time
> https://bugs.openjdk.java.net/browse/JDK-8061630
> JDK-8051837: Remove temporary G1UseParallelRSetUpdating and 
> G1UseParallelRSetScanning flags
> https://bugs.openjdk.java.net/browse/JDK-8051837
> These two changes both apply cleanly to the 8u repo.
> There are also conflicts due to other changes that have not been 
> backported. I prefer *not* to backport these since I think they are 
> too intrusive:
> JDK-6979279: remove special-case code for ParallelGCThreads==0
> JDK-8039244: Don't use UINT32_FORMAT and INT32_FORMAT when printing 
> uints and ints in the GC code
> JDK-8060074: os::free() takes MemoryTrackingLevel but doesn't need it
> JDK-8044775: Improve usage of umbrella header atomic.inline.hpp
> JDK-8062206: Remove unusable G1RSLogCheckCardTable command line argument
> Instead I manually fixed the conflicts in two ways. I prepared the 8u 
> repo with the following fix:
> http://cr.openjdk.java.net/~brutisso/backport-8027962/preparation/
> And then I patched the export files for the changesets to apply 
> cleanly. Here are webreves for the patches to the exports:
> http://cr.openjdk.java.net/~brutisso/backport-8027962/exports/
> And here are the resulting webrevs for the three changes:
> http://cr.openjdk.java.net/~brutisso/backport-8027962/8027962/
> http://cr.openjdk.java.net/~brutisso/backport-8027962/8075210/
> http://cr.openjdk.java.net/~brutisso/backport-8027962/8074037/
> I realize that this is difficult to review. Let me know if there is 
> more I can do to ease up the review.
> Thanks,
> Bengt

More information about the hotspot-gc-dev mailing list