RFR: 8075401: Remove DiscoveredListIterator::update_discovered()

Bengt Rutisson bengt.rutisson at oracle.com
Wed Mar 18 15:10:57 UTC 2015

Hi Kim,

On 2015-03-18 01:20, Kim Barrett wrote:
> Please review this change to remove unnecessary calls to
> DiscoveredListIterator::update_discovered(), and remove the now unused
> function. Details are in the CR.
> I will need a sponsor for this change.
> CR:
> https://bugs.openjdk.java.net/browse/JDK-8075401
> Webrev:
> http://cr.openjdk.java.net/~kbarrett/8075401/webrev.00/

As far as I can tell this is fine. It is always a bit hairy to follow 
the state transitions in the reference processing...

One question. After your change the only use of _prev_next is in 
DiscoveredListIterator::remove(). Would it be possible to re-write that 
method to completely remove the _prev_next field? I didn't really have 
time to follow up how _prev, _next and _prev_next all work together, but 
it might be worth investigating. The one who added this comment would 
probably be happy if we make remove be more transparent with what it does:

// First _prev_next ref actually points into DiscoveredList (gross).


> Testing:
> JPRT, Aurora ad hoc GC Nightly and other tests,
> local JTREG of hotspot/tests/[closed/]{runtime,gc},
> RefWorkload with -XX:+UseG1GC, -XX:+UseParallelOldGC, -XX:+UseConcMarkSweepGC

More information about the hotspot-gc-dev mailing list