RFR: Can not dedup string inside write barrier

Aleksey Shipilev shade at redhat.com
Mon Nov 6 15:13:36 UTC 2017


On 11/06/2017 03:59 PM, Zhengyu Gu wrote:
> Can not perform String deduplication inside a write barrier, as it takes lock, that violates write
> barrier's leaf call constraint.
> 
> 
> Webrev: http://cr.openjdk.java.net/~zgu/shenandoah/strdedup_wb/webrev.00/

Okay, but minor nits:

 *) I think there is no need for templates, because the method is already slow-path. A simple
boolean arg would be enough? This will simplify backports too, because the signature change would be
needed everywhere, instead of blind substitution of evacuate_object.

 *) Excess space before ShenandoahHeap

 441 inline oop  ShenandoahHeap::evacuate_object(oop src, Thread* thread, bool& evacuated) {

 445 inline oop  ShenandoahHeap::write_barrier_evacuate_object(oop src, Thread* thread, bool&
evacuated) {

Thanks,
-Aleksey



More information about the shenandoah-dev mailing list