Please review 7178670: runtime/7158800/BadUtf8.java fails in SymbolTable::rehash_table

Coleen Phillimore coleen.phillimore at oracle.com
Fri Jun 22 19:07:52 PDT 2012



On 6/22/2012 12:57 AM, Vladimir Kozlov wrote:
> Collen,
>
> With your changes all shared entries will be unlinked if rehashing is 
> enabled. Do you want that? Or you just want to skip a shared entry?

Yes, these entries still have to be removed from the old table and put 
on the new one, because I delete the old table.   It has to create new 
links for this.
thanks,
Coleen
>
>
> Vladimir
>
> Coleen Phillimore wrote:
>>
>> After some discussions about the preserving shared state in move_to, 
>> it occurred to me that after rehashing, the shared entries were no 
>> longer last in the buckets.   The walking in StringTable and 
>> SymbolTable assumed this.    I also added more of a comment about 
>> preserving the state.  It could be nicer code and safer but it would 
>> also introduce some risk or possible performance impact.    These are 
>> the latest webrevs which I've tested with rehash_count=2 and 
>> rehash_multipier=1 to make it rehash a lot.
>>
>> open webrev at http://cr.openjdk.java.net/~coleenp/hashmap_cds2
>> open webrev at http://cr.openjdk.java.net/~coleenp/hashmap_7u6_cds2/
>>
>> Thanks,
>> Coleen
>>
>>
>> On 6/21/2012 3:25 PM, Coleen Phillimore wrote:
>>> Summary: Cannot delete _buckets and HashtableEntries in shared space 
>>> (CDS)
>>>
>>> Tested with the tests that I added using Class Data Sharing (on and 
>>> off).  This is both a patch for 7u6 and main.
>>>
>>> open webrev at http://cr.openjdk.java.net/~coleenp/hashmap_cds/
>>> open webrev at http://cr.openjdk.java.net/~coleenp/hashmap_7u6_cds/
>>>
>>> Thanks,
>>> Coleen
>>>
>>>


More information about the hotspot-runtime-dev mailing list