RFR: 8203028: Simplify reference processing in light of JDK-8175797

Thomas Schatzl thomas.schatzl at oracle.com
Tue May 15 15:01:45 UTC 2018


Hi Kim,

On Tue, 2018-05-15 at 09:48 -0400, Kim Barrett wrote:
> > On May 15, 2018, at 4:17 AM, Thomas Schatzl <thomas.schatzl at oracle.
> > com> wrote:
> > 
> > Hi,
> > 
> > On Mon, 2018-05-14 at 18:09 -0400, Kim Barrett wrote:
> > > > On May 14, 2018, at 8:45 AM, Thomas Schatzl <thomas.schatzl at ora
> > > > cle.
> > > > com> wrote:
> > > > 
> > > > Hi Kim,
> > > > 
> > > > some initial comments…
> > > 
> > > Thanks for looking at this.
> > > 
> > > > On Sun, 2018-05-13 at 21:32 -0400, Kim Barrett wrote:
> > > > > […]
> > > > > CR:
> > 
> > [...]
> > 
> > 
> > > > - please remove the unused complete_gc parameter from
> > > > ReferenceProcessor::process_phase2.
> > > 
> > > I intentionally left it alone.  Removing it completely starts
> > > getting
> > > messy when one starts walking up the callers and hits the
> > > parallel
> > > task layer (either drop the argument there instead, or have two
> > > different work functions with consequent fannout).  And I expect
> > > this
> > > interface is going to be completely changed by JDK-8202845, so it
> > > didn't seem worth doing much here.
> > 
> > Oh, I would have simply kept the parameter in the ProcessTask
> > layer.
> > You are right, we want to discuss this later though.
> > 
> > [...]
> > 
> > Thanks for all the other clarifications in the documentation.
> > 
> > > 
> > > New webrev, rebased to include JDK-8201491:
> > > http://cr.openjdk.java.net/~kbarrett/8203028/open.01/
> > > 
> > > New webrevs with above changes:
> > > full: http://cr.openjdk.java.net/~kbarrett/8203028/open.02/
> > > incr: http://cr.openjdk.java.net/~kbarrett/8203028/open.02.inc/
> > > 
> > 
> >  maybe some really stupid question, but: do we really not need to
> > update the next field if we discovered an (inactive) Reference? (in
> > instanceRefKlass.inline.hpp, in oop_oop_iterate_discovery).
> 
> The next field does get updated, just not via any bespoke mechanism.
> It's now treated as an ordinary oop-containing field, just like
> queue.
> See the InstanceRefKlass::update_nonstatic_oop_maps change.

  that was what I was missing. Looks good.

Thanks,
  Thomas



More information about the hotspot-gc-dev mailing list