RFR (XL): 8202845: Refactor reference processing for improved parallelism
Thomas Schatzl
thomas.schatzl at oracle.com
Wed Jun 13 21:26:08 UTC 2018
Hi Kim,
On Wed, 2018-06-13 at 16:08 -0400, Kim Barrett wrote:
> > On Jun 13, 2018, at 5:18 AM, Thomas Schatzl <thomas.schatzl at oracle.
> > com> wrote:
> >
> > Hi Kim,
> >
> > On Tue, 2018-06-12 at 17:18 -0400, Kim Barrett wrote:
> > > > On Jun 12, 2018, at 3:39 PM, Kim Barrett <kim.barrett at oracle.co
> > > > m>
> > > > wrote:
> > > >
> > > > > On Jun 12, 2018, at 2:19 PM, Thomas Schatzl
> > > > > <thomas.schatzl at oracle.com> wrote:http://cr.openjdk.java.net/
> > > > > ~tsc
> > > > > hatzl/8202845/webrev.1_to_2 (diff)
> > > > > http://cr.openjdk.java.net/~tschatzl/8202845/webrev.2 (full)
> > > >
> > > > Looks good.
> > >
> > > One more thing I just noticed.
> > >
> > > src/hotspot/share/gc/shared/referenceProcessor.cpp
> > > 865 log_reflist("Phase2 Soft after", _discoveredSoftRefs,
> > > _max_num_queues);
> > > 866 log_reflist("Phase2 Weak after", _discoveredWeakRefs,
> > > _max_num_queues);
> > >
> > > at the end of process_soft_weak_final_refs. At this stage, I
> > > think there must be no soft or weak references. Better to assert
> > > that than log empty sets.
> > >
> > > Similarly at the end of process_phantom_refs.
> > >
> > > And the same is true for process_final_keep_alive.
> > >
> >
> > fixed in
> >
> > http://cr.openjdk.java.net/~tschatzl/8202845/webrev.2_to_3 (diff)
> > and
> > http://cr.openjdk.java.net/~tschatzl/8202845/webrev.3 (full)
> >
> > Currently running hs-tier1-3, but I do not expect issues.
> >
No issues.
> > Thomas
>
> Looks good, except verify_total_count_zero should be debug-only
> rather than !PRODUCT.
> In an “optimized" build it does nothing except waste time (calls
> total_count but does nothing
> with the result because assert is suppressed).
I fixed that in place in the webrevs, replacing the NOT_PRODUCT_RETURN
with a NOT_DEBUG_RETURN and the #ifndef PRODUCT with an #ifdef ASSERT.
Thanks,
Thomas
More information about the hotspot-gc-dev
mailing list