RFR (S): Refactor concurrent mark to be more inlineable

Roman Kennke rkennke at redhat.com
Tue Dec 20 17:15:19 UTC 2016


Looks good to me!

Roman

Am Dienstag, den 20.12.2016, 18:08 +0100 schrieb Aleksey Shipilev:
> Hi,
> 
> I would like to refactor the concurrent mark to make it more
> inlineable, prepare
> it for conc mark prefetch, etc:
>   http://cr.openjdk.java.net/~shade/shenandoah/concmark-inline/webrev
> .01/
> 
> In that patch:
>   a) Peeled concurrent_process_queues before the hot loop;
>   b) Inlined try_* methods to call a very fat do_object_or_array
> once. It also
> helps to pinpoint a single place where we get the tasks, so that
> future work on
> buffering and prefetching would capitalize on this;
>   c) Optimize SATB draining code: poll the local queue immediately
> after
> draining SATB, do not do stealing which will bypass the local queue;
>   d) Marked a few important closures "inline", and added headers
> where needed;
> 
> Testing: hs_gc_shenandoah, SPECjvm/Derby.
> 
> Thanks,
> -Aleksey
> 


More information about the shenandoah-dev mailing list