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

Cannot delete _buckets and HashtableEntries in shared space (CDS)

Reviewed-by: acorn, kvn, dlong, dcubed, kamg
This commit is contained in:
Coleen Phillimore 2012-06-25 21:33:35 -04:00
parent e742ae2157
commit dc5fe663cb
4 changed files with 128 additions and 56 deletions

View file

@ -156,7 +156,7 @@ public:
initialize_symbols();
}
static unsigned int hash_symbol(const char* s, int len, unsigned int hashValue = 0);
static unsigned int hash_symbol(const char* s, int len);
static Symbol* lookup(const char* name, int len, TRAPS);
// lookup only, won't add. Also calculate hash.
@ -294,7 +294,7 @@ public:
// Hashing algorithm, used as the hash value used by the
// StringTable for bucket selection and comparison (stored in the
// HashtableEntry structures). This is used in the String.intern() method.
static unsigned int hash_string(const jchar* s, int len, unsigned int hashValue = 0);
static unsigned int hash_string(const jchar* s, int len);
// Internal test.
static void test_alt_hash() PRODUCT_RETURN;