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

Bengt Rutisson bengt.rutisson at oracle.com
Wed Mar 25 12:45:07 UTC 2015


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