RFR (M): 8201492: Properly implement non-contiguous generations for reference discovery
Thomas Schatzl
thomas.schatzl at oracle.com
Wed May 2 09:36:22 UTC 2018
Hi Kim,
thanks for your review.
On Mon, 2018-04-30 at 10:12 -0400, Kim Barrett wrote:
> > On Apr 29, 2018, at 2:45 PM, Thomas Schatzl <thomas.schatzl at oracle.
> > com> wrote:
> > Webrevs
> > http://cr.openjdk.java.net/~tschatzl/8201492/webrev.1 (full)
> > http://cr.openjdk.java.net/~tschatzl/8201492/webrev.0_to_1 (diff)
> >
> > I pushed the changes through hs-tier1-3 again.
> >
> > Note that the diff webrev is not very helpful in this case.
> >
> > Thanks,
> > Thomas
>
> -------------------------------------------------------------------
> -----------
> The member name _span_discoverer, used by several of the collectors,
> might be confusing; it's not discovering spans. I'm not sure what a
> better name might be though. _span_based_discoverer?
I changed it to the suggested name.
> src/hotspot/share/gc/g1/g1FullCollector.hpp
> 47 class G1FullGCSubjectToDiscoveryClosure: public
> BoolObjectClosure {
> 48 public:
> 49 bool do_object_b(oop p) {
> 50 return (p != NULL);
> 51 }
> 52 };
>
> I think no null check is needed here, and that p could instead be
> asserted to be non-NULL, because Full-GC is
> discovery_is_atomic. This is similar to the young/mixed gc case
> (G!STWSubjectToDiscoveryClosure), and different from the cm case.
> That would better match the _always_subject_to_discovery name too.
Fixed.
>
> -------------------------------------------------------------------
> -----------
> src/hotspot/share/gc/shared/referenceProcessor.hpp
> 489 ReferenceProcessorSpanMutator(ReferenceProcessor* rp,
> 490 MemRegion span):
> 491 _rp(rp), _discoverer(span) {
> 492 _old_discoverer = rp->is_subject_to_discovery_closure();
> 493 rp->set_is_subject_to_discovery_closure(&_discoverer);
> 494 }
>
> Why is _old_discoverer initialized in the body rather than the
> initializer list.
>
> Also, formatting makes it hard to spot where the initializer list
> ends and the body begins.
Done and added a newline.
Webrevs:
http://cr.openjdk.java.net/~tschatzl/8201492/webrev.2 (full)
http://cr.openjdk.java.net/~tschatzl/8201492/webrev.1_to_2 (diff)
Thanks,
Thomas
More information about the hotspot-gc-dev
mailing list