Please review 7178670: runtime/7158800/ fails in SymbolTable::rehash_table

Daniel D. Daugherty daniel.daugherty at
Fri Jun 22 11:13:21 PDT 2012

On 6/21/12 9:40 PM, 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
> open webrev at

     line 102: Please consider the following rewrite of your comment:

         // Shared entries are normally at the end of the table and if
         // we run into a shared entry, then there is nothing more to
         // remove. However, if we have rehashed the table, then nothing
         // is shared anymore.

     line 143, 807: // This should never happen with -Xshare:dump but it
                       might in testing mode.
         These comments aren't comforting. Just curious: why might it happen
         in testing mode?

     line 723: should this be the following instead:

         HashtableEntry<Symbol*>* entry =

         That would match what you did on lines 99-100.

     line 123: // Keep the shared bit in the Hashtable entry so it can't 
be deleted.

         If we've rehashed the table, then shared entries can "sort of"
         be deleted. They are deleted from the symbol table, but their
         memory is not freed. Am I understanding this right?

         Maybe say "so it can't be freed". I don't know how to make this
         more clear.

     No comments.


> 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
>> open webrev at
>> Thanks,
>> Coleen

More information about the hotspot-runtime-dev mailing list