Mercurial > hg > graal-compiler
comparison src/share/vm/classfile/symbolTable.hpp @ 6172:246d977b51f2
7178670: runtime/7158800/BadUtf8.java fails in SymbolTable::rehash_table
Summary: Cannot delete _buckets and HashtableEntries in shared space (CDS)
Reviewed-by: acorn, kvn, dlong, dcubed, kamg
author | coleenp |
---|---|
date | Mon, 25 Jun 2012 21:33:35 -0400 |
parents | e9140bf80b4a |
children | d2a62e0f25eb |
comparison
equal
deleted
inserted
replaced
6170:d8a240abb23a | 6172:246d977b51f2 |
---|---|
154 // if CDS give symbol table a default arena size since most symbols | 154 // if CDS give symbol table a default arena size since most symbols |
155 // are already allocated in the shared misc section. | 155 // are already allocated in the shared misc section. |
156 initialize_symbols(); | 156 initialize_symbols(); |
157 } | 157 } |
158 | 158 |
159 static unsigned int hash_symbol(const char* s, int len, unsigned int hashValue = 0); | 159 static unsigned int hash_symbol(const char* s, int len); |
160 | 160 |
161 static Symbol* lookup(const char* name, int len, TRAPS); | 161 static Symbol* lookup(const char* name, int len, TRAPS); |
162 // lookup only, won't add. Also calculate hash. | 162 // lookup only, won't add. Also calculate hash. |
163 static Symbol* lookup_only(const char* name, int len, unsigned int& hash); | 163 static Symbol* lookup_only(const char* name, int len, unsigned int& hash); |
164 // Only copy to C string to be added if lookup failed. | 164 // Only copy to C string to be added if lookup failed. |
292 static void oops_do(OopClosure* f); | 292 static void oops_do(OopClosure* f); |
293 | 293 |
294 // Hashing algorithm, used as the hash value used by the | 294 // Hashing algorithm, used as the hash value used by the |
295 // StringTable for bucket selection and comparison (stored in the | 295 // StringTable for bucket selection and comparison (stored in the |
296 // HashtableEntry structures). This is used in the String.intern() method. | 296 // HashtableEntry structures). This is used in the String.intern() method. |
297 static unsigned int hash_string(const jchar* s, int len, unsigned int hashValue = 0); | 297 static unsigned int hash_string(const jchar* s, int len); |
298 | 298 |
299 // Internal test. | 299 // Internal test. |
300 static void test_alt_hash() PRODUCT_RETURN; | 300 static void test_alt_hash() PRODUCT_RETURN; |
301 | 301 |
302 // Probing | 302 // Probing |