Mercurial > hg > truffle
diff src/share/vm/memory/dump.cpp @ 6162:e9140bf80b4a
7158800: Improve storage of symbol tables
Summary: Use an alternate version of hashing algorithm for symbol string tables and after a certain bucket size to improve performance
Reviewed-by: pbk, kamg, dlong, kvn, fparain
author | coleenp |
---|---|
date | Wed, 13 Jun 2012 19:52:59 -0400 |
parents | 8f972594effc |
children | f0b82641fb7e |
line wrap: on
line diff
--- a/src/share/vm/memory/dump.cpp Mon Jun 11 13:10:14 2012 -0400 +++ b/src/share/vm/memory/dump.cpp Wed Jun 13 19:52:59 2012 -0400 @@ -62,8 +62,8 @@ // written later, increasing the likelihood that the shared page contain // the hash can be shared. // -// NOTE THAT the algorithm in StringTable::hash_string() MUST MATCH the -// algorithm in java.lang.String.hashCode(). +// NOTE THAT we have to call java_lang_String::to_hash() to match the +// algorithm in java.lang.String.toHash(). class StringHashCodeClosure: public OopClosure { private: @@ -80,7 +80,7 @@ oop obj = *p; if (obj->klass() == SystemDictionary::String_klass() && java_lang_String::has_hash_field()) { - int hash = java_lang_String::hash_string(obj); + int hash = java_lang_String::to_hash(obj); obj->int_field_put(hash_offset, hash); } }