Please review 7178670: runtime/7158800/BadUtf8.java fails in SymbolTable::rehash_table
karen.kinnear at oracle.com
Thu Jun 21 22:01:05 PDT 2012
Good catch - I am glad you caught that in the unlink assumptions.
Both sets of changes look good - just a minor question.
So - why is line 723 in symbolTable.cpp able to reference the_table()->bucket(i) for StringTable and
lines 99-100 needs to do the make_ptr stuff?
On Jun 21, 2012, at 11: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 http://cr.openjdk.java.net/~coleenp/hashmap_cds2
> open webrev at http://cr.openjdk.java.net/~coleenp/hashmap_7u6_cds2/
> 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/
More information about the hotspot-runtime-dev