RFR: Uses keep_alive_barrier to keep deduped char array alive

Zhengyu Gu zgu at redhat.com
Wed Oct 11 19:56:42 UTC 2017


>>>
>>> java_lang_String::set_value(java_string, typeArrayOop(existing_value));
>>>
>>> which does the correct barrier (i.e. storeval-barrier). Everything 
>>> should be fine.
>> Okay, I see. Thanks for the explanation.
>>
>> Updated webrev: 
>> http://cr.openjdk.java.net/~zgu/shenandoah/strdedup_keep_alive/webrev.01/
> 
> It is ok, but I'd just drop the if-else on UseShenandoahGC and 
> unconditionally call oopDesc::bs()->keep_alive_barrier(...) that will do 
> the right thing for G1 too!

But, is it the consensus, that we should always do UseShenandoahGC in 
shared code now?

-Zhengyu

> 
> Roman


More information about the shenandoah-dev mailing list