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

Robbin Ehn robbin.ehn at oracle.com
Thu Jun 14 05:24:33 UTC 2018


Thanks Coleen!

/Robbin

On 2018-06-13 18:02, coleen.phillimore at oracle.com wrote:
> 
> 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