RFR: Fixed two string dedup issues
Zhengyu Gu
zgu at redhat.com
Tue Oct 10 13:47:42 UTC 2017
Oops!
Updated webrev:
http://cr.openjdk.java.net/~zgu/shenandoah/strdedup_fix/webrev.01/index.html
-Zhengyu
On 10/10/2017 09:45 AM, Zhengyu Gu wrote:
>
>
> On 10/09/2017 02:28 PM, Aleksey Shipilev wrote:
>> On 10/09/2017 06:45 PM, Zhengyu Gu wrote:
>>> Fixed two issues:
>>>
>>> 1) Missing string dedeup on shenandoah write barrier fast path.
>>> 2) Missing dedup table reference update on piggyback reference update
>>> path.
>>
>> Please commit them as two separate changesets, if you can?
>>
>>> Webrev:
>>> http://cr.openjdk.java.net/~zgu/shenandoah/strdedup_fix/webrev.00/
>>
>> *) Why this is needed?
>>
>> 27 #include "classfile/javaClasses.inline.hpp"
>
> 45 assert(java_lang_String::is_instance_inlined(java_string), "Must
> be a String object");
>
> in is_candidate(). complained in aarch64 build
>
>>
>> *) I guess the parallel_update_refs() call during init_mark misses the
>> profiling counters?
>
> Yep. Fixed and that helped to unravel that update refs is not needed if
> it is full GC cycle.
>
> Added more stress tests with -XX:ShenandoahUpdateRefsEarly=off
>
>
> Also, fixed safepoint check to ensure that it is a Shenandoah GC
> safepoint. We can hit periodic or clean up safepoints during concurrent
> evacuation objects.
>
> Updated webrev:
> file:///home/zgu/webrevs/shenandoah/strdedup_fix/webrev.01/index.html
>
>
> Test:
> Reran tests.
>
>
> Thanks,
>
> -Zhengyu
>
>>
>> Thanks,
>> -Aleksey
>>
More information about the shenandoah-dev
mailing list