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