RFR: Process remaining SATB buffers in final mark/traverse loop instead of separate phase

Aleksey Shipilev shade at redhat.com
Wed Jun 20 07:39:18 UTC 2018


On 06/19/2018 09:11 PM, Roman Kennke wrote:
> Oops, forgot hg qrefresh before making webrev. Please review this:
> 
>  Incremental:
>  http://cr.openjdk.java.net/~rkennke/satb-final-phase/webrev.02.diff/
>  Full:
>  http://cr.openjdk.java.net/~rkennke/satb-final-phase/webrev.02/

Looks good!

Format it a bit, and push:

  {
    ShenandoahObjToScanQueue* q = _cm->get_queue(worker_id);
    ShenandoahSATBBufferClosure cl(q);

    SATBMarkQueueSet& satb_mq_set = ShenandoahBarrierSet::satb_mark_queue_set();
    while (satb_mq_set.apply_closure_to_completed_buffer(&cl));

    ShenandoahSATBThreadsClosure tc(&cl);
    Threads::threads_do(&tc);
  }

-Aleksey



More information about the shenandoah-dev mailing list