RFR: 8066827: Remove ReferenceProcessor::clean_up_discovered_references()

Kim Barrett kim.barrett at oracle.com
Wed Dec 17 18:53:03 UTC 2014


Thanks for your review and offer of sponsorship.

On Dec 17, 2014, at 10:17 AM, Jon Masamitsu <jon.masamitsu at oracle.com> wrote:
> 
> Change looks good but I would suggest a different wording in
> one of the comments.
> 
> http://cr.openjdk.java.net/~kbarrett/8066827/webrev/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp.udiff.html
> 
> +  // references lists.  Abandon those references, since some
> +  // of them may have become unreachable due to later mutator
> +  // activity, and the compacting collector we're about to run
> +  // won't see them as live.
> 
> // reference lists.  Abandon those references since the STW collector will
> // redo discovery more precisely (will not be subject to floating garbage).
> 
> I think referring to liveness and mutator activity, while correct, makes it
> sound more complicated then needed.  I think the overriding point is that
> discovery is going to be redone and redone more precisely since it's STW.

How about this:

  // If the collection is being acquired from the background
  // collector, there may be references on the discovered
  // references lists.  Abandon those references, since some
  // of them may have become unreachable after concurrent
  // discovery; the STW compacting collector will redo discovery
  // more precisely, without being subject to floating garbage.
  // Leaving otherwise unreachable references in the discovered
  // lists would require special handling.



More information about the hotspot-gc-dev mailing list