RFR: Templatize and improve inlining of arraycopy and clone barriers

Roman Kennke rkennke at redhat.com
Fri Aug 25 10:59:03 UTC 2017


This was a long-standing TODO on my list:

http://cr.openjdk.java.net/~rkennke/sharraybarriers/webrev.00/

It template-izes the ShenandoahUpdateRefsForOopClosure in
shenandoahBarrierSet.cpp (used by clone() ) and the loop in the
write_ref_array() barrier (used by arraycopy). It also makes the
write_ref_array() loop re-use the closure. This pulls all the relevant
checks out of hot loops, and reduces code duplication.

Tests: hotspot_gc_shenandoah

Ok?

Roman


More information about the shenandoah-dev mailing list