[8u60] Bulk backport for eager reclaim of humongous objects
Kim Barrett
kim.barrett at oracle.com
Wed Apr 29 17:22:35 UTC 2015
Please review these backports to fix / improve the eager reclaim of
humongous objects feature.
In addition to the backports listed below, we also plan to backport
the changeset for 8075215: "SATB buffer processing found reclaimed
humongous object", which is presently in review. A separate backport
review request will be made for it, if needed.
The order of the changesets below is the order in which they are to be
applied. The plan is to perform a block push of all of these
changesets, plus the in-development changes for 8075215.
Testing:
JPRT
local jtreg of hotspot/test/[closed/]{gc,runtime} with G1 as the collector
----------
8048179: Early reclaim of large objects that are referenced by a few objects
This change enables reclaim in more situations, and sets the stage for
the later backports. While this is an "enhancement" rather than a bug
fix, the backport was delayed pending progress on fixing bugs in the
already backported eager reclaim feature. This change makes those bugs
much easier to reproduce. The remaining backports in the series are to
address those bugs.
The JDK9 change did not apply cleanly to 8u60, so re-review is needed.
Merge issues in g1CollectedHeap.cpp to deal with JDK9 renamings such as
HeapRegion::startsHumongous() => HeapRegion::is_starts_humongous()
HeapRegion::isHumongous() => HeapRegion::is_humongous()
Merge issues in g1GCPhaseTimes.cpp.
Merge issues in heapRegionRemSet.hpp from not backported 8066102 fix.
Merge issues in TestGCLogMessages.java from not backported 8027962 fix.
CR:
https://bugs.openjdk.java.net/browse/JDK-8048179
Webrev:
http://cr.openjdk.java.net/~kbarrett/8u60-eager-reclaim/8048179/webrev.00/
Differences between JDK9 and JDK8 patches:
http://cr.openjdk.java.net/~kbarrett/8u60-eager-reclaim/8048179/8048179.9to8.00.txt
----------
8076265: Simplify deal_with_reference
This changeset applied cleanly, so no additional review is needed.
CR:
https://bugs.openjdk.java.net/browse/JDK-8076265
Webrev:
http://cr.openjdk.java.net/~kbarrett/8u60-eager-reclaim/8076265/webrev.00/
----------
8069367: Eagerly reclaimed humongous objects left on mark stack
The JDK9 change did not apply cleanly to 8u60, so re-review is needed.
- Merge issue in g1CollectedHeap.[ch]pp to deal with JDK9 renamings.
- Test addition to TEST.groups required manual merge.
CR:
https://bugs.openjdk.java.net/browse/JDK-8069367
Webrev:
http://cr.openjdk.java.net/~kbarrett/8u60-eager-reclaim/8069367/webrev.00/
Differences between JDK9 and JDK8 patches:
http://cr.openjdk.java.net/~kbarrett/8u60-eager-reclaim/8069367/8069367.9to8.00.txt
----------
8075466: SATB queue pre-filter verify found reclaimed humongous object
The JDK9 change did not apply cleanly to 8u60, so re-review is needed.
- Typo in string fixed by not backported 8026849 fix.
CR:
https://bugs.openjdk.java.net/browse/JDK-8075466
Webrev:
http://cr.openjdk.java.net/~kbarrett/8u60-eager-reclaim/8075466/webrev.00/
Differences between JDK9 and JDK8 patches:
http://cr.openjdk.java.net/~kbarrett/8u60-eager-reclaim/8075466/8075466.9to8.00.txt
----------
8078021: SATB apply_closure_to_completed_buffer should have closure argument
The JDK9 change did not apply cleanly to 8u60, so re-review is needed.
- JDK8 contains special handling for ParallelGCThreads == 0, which has
been removed from JDK9 - 6979279: remove special-case code for
ParallelGCThreads=0. For the SATB code that special case was not
actually interesting, and we can just use the new code.
CR:
https://bugs.openjdk.java.net/browse/JDK-8078021
Webrev:
http://cr.openjdk.java.net/~kbarrett/8u60-eager-reclaim/8078021/webrev.00/
Differences between JDK9 and JDK8 patches:
http://cr.openjdk.java.net/~kbarrett/8u60-eager-reclaim/8078021/8078021.9to8.00.txt
----------
8078023: verify_no_cset_oops found reclaimed humongous object in SATB buffer
This changeset applied cleanly, so no additional review is needed.
CR:
https://bugs.openjdk.java.net/browse/JDK-8078023
Webrev:
http://cr.openjdk.java.net/~kbarrett/8u60-eager-reclaim/8078023/webrev.00/
----------
That's all, folks.
More information about the hotspot-gc-dev
mailing list