RFR(M): 8204613: StringTable: Calculates wrong number of uncleaned items.

coleen.phillimore at oracle.com coleen.phillimore at oracle.com
Wed Jun 13 16:02:42 UTC 2018


This looks good and better than v1.
thanks,
Coleen

On 6/13/18 6:44 AM, Robbin Ehn wrote:
> Hi, Stefan pointed out that there are some useless methods calls since 
> we don't remove any strings in some of the walks.
>
> Serial, Parallel and CMS only removes strings in serial call to unlink.
> G1 only removes strings in StringAndSymbolCleaningTask.
>
> I reverted does unneeded changes, leaving the patch with only G1 and 
> ZGC changes (+ stringtable):
> http://cr.openjdk.java.net/~rehn/8204613/v2/webrev/
>
> Thanks Stefan!
>
> /Robbin
>
> On 06/11/2018 06:09 PM, Robbin Ehn wrote:
>> Hi all, please review.
>>
>> The StringTable lazy evicts dead string, until a dead string is 
>> evicted it will be counted as a dead string. If it is not evicted 
>> before next GC cycle it is counted again, making the count of 
>> uncleaned strings skew.
>> Also ZGC walks the strings without using the stringtable GC API, but 
>> it needs to be-able to feedback the number of dead strings to get the 
>> cleaning functionality.
>> There is a big probability that ZGC makes it in before this 
>> change-set, so I included ZGC changes.
>>
>> There was a compile issue on slowdebug on windows for 
>> create_archived_string(), I added NOT_CDS_JAVA_HEAP_RETURN_(NULL) for 
>> it.
>>
>> Change-set: http://cr.openjdk.java.net/~rehn/8204613/webrev/index.html
>> Bug: https://bugs.openjdk.java.net/browse/JDK-8204613
>>
>> T1-3 with ZGC testing on, no related issues and manual JMH testing.
>>
>> Thanks, Robbin



More information about the hotspot-runtime-dev mailing list