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

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

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

coleen.phillimore

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

Reply | Threaded
Open this post in threaded view
|

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

Robbin Ehn
Thanks Coleen!

/Robbin

On 2018-06-13 18:02, [hidden email] 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
>