RFR (S): Refactor concurrent mark to be more inlineable
Aleksey Shipilev
shade at redhat.com
Tue Dec 20 17:08:31 UTC 2016
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