RFR (M): Generic mark loop

Roman Kennke rkennke at redhat.com
Fri Feb 10 15:48:50 UTC 2017


Ok. And thanks! :-)

Roman

Am Freitag, den 10.02.2017, 16:42 +0100 schrieb Aleksey Shipilev:
> Hi,
> 
> Changing mark loop is gruesome, because we have at least two versions
> of it,
> plus the horrible translation blocks that fit marking template
> parameters. This
> is the attempt at making the generic mark loop:
>   http://cr.openjdk.java.net/~shade/shenandoah/generic-mark-loop/webr
> ev.03/
> 
> Tour of changes:
> 
>  *) Merged concurrent_mark_loop, final_mark_loop, and
> concurrent_process_queues.
>  *) Introduced SCM::mark_loop that accepts boolean parameters, and
> then slides
> into the one of the templated mark_loop_work versions.
>  *) Collapsed ShenandoahMarkObjsClosure to SCM methods, rehashed
> templates.
> 
> I see no significant difference in marking times. The compiled code
> still looks
> profitably inlined. The next step would be trying to collapse the
> remaining four
> MetadataAwareClosures into a templated one, and hook them up into new
> template
> params.
> 
> Testing: hotspot_gc_shenandoah, jcstress -m quick, benchmarks
> 
> Thanks,
> -Aleksey
> 


More information about the shenandoah-dev mailing list