RFR: Consolidate oop iterators

Roman Kennke rkennke at redhat.com
Tue Feb 7 09:34:04 UTC 2017


Am Dienstag, den 07.02.2017, 10:29 +0100 schrieb Aleksey Shipilev:
> On 02/07/2017 10:25 AM, Roman Kennke wrote:
> > >  *) If we migrate the last remaining use of SCM::mark_and_push in
> > > ShenandoahSATBBufferClosure, we can then merge mark_in_push into
> > > mark_through_ref, right?
> > 
> > Right. Like this:
> > 
> > http://cr.openjdk.java.net/~rkennke/consolidate-closures/webrev.01/
> > 
> > To be honest, I am not sure I like it. mark_through_refs() becomes
> > less
> > readable, and I am not sure if there's an advantage here?
> > 
> > Anyway, good to go?
> 
> Yes, good to go.
> 
> I guess part of the mess is multiple oopDesc::is_safe blocks and 
> asserts.

I counted it. The actual payload of mark_and_push() is two lines of
code:

      if (heap->mark_next(obj)) {
        q->push(SCMTask(obj));
      }

All the rest of it is asserts and logging. :-D

Pushed as it was.

Roman


More information about the shenandoah-dev mailing list