RFR (S/M): 8202017: Merge Reference Enqueuing phase with phase 3 of Reference processing
Thomas Schatzl
thomas.schatzl at oracle.com
Tue Apr 24 09:26:24 UTC 2018
Hi Kim,
On Mon, 2018-04-23 at 19:10 -0400, Kim Barrett wrote:
> > On Apr 19, 2018, at 3:14 PM, Thomas Schatzl <thomas.schatzl at oracle.
> > com> wrote:
> >
> > Hi all,
> >
> > can I have reviews for this change that merges the Reference
> > Enqueuing phase of reference processing with the respective phase 3
> > of actual Reference Processing?
> >
[...]
> > CR:
> > https://bugs.openjdk.java.net/browse/JDK-8202017
> > Webrev:
> > http://cr.openjdk.java.net/~tschatzl/8202017/webrev/
> > Testing:
> > hs-tier1-4
> >
> > Thanks,
> > Thomas
>
> Looks good. Just a couple very minor things.
>
> -------------------------------------------------------------------
> -----------
> src/hotspot/share/gc/shared/referenceProcessor.cpp
> 607 _refs_lists[i].set_head(NULL);
> 608 _refs_lists[i].set_length(0);
>
> 790 refs_lists[i].set_head(NULL);
> 791 refs_lists[i].set_length(0);
>
> Maybe move these into process_phase3?
Done.
>
> -------------------------------------------------------------------
> -----------
> src/hotspot/share/gc/g1/g1CollectedHeap.hpp
> 515 // If during an initial mark pause we install a pending list
> head which is not otherwise reachable
>
> Perhaps s/install/may install/
>
Done.
> src/hotspot/share/gc/shared/genCollectedHeap.cpp
> 518 rp->disable_discovery();
>
> Ick! This whole little dance around discovery_is_atomic,
> enqueueing_is_done, &etc looks like it is related to CMS and the
> distinction between CMS and Serial. See also the TODO-ish block
> comment at line 489.
>
> This looks ripe for refactoring as part of the cleanup of CMS-
> specific intrusions. Probably should have a followup RFE for this.
I will file an RFE for this.
New webrevs:
http://cr.openjdk.java.net/~tschatzl/8202017/webrev.0_to_1 (diff)
http://cr.openjdk.java.net/~tschatzl/8202017/webrev.1/ (full)
Thomas
More information about the hotspot-gc-dev
mailing list