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);
       }
     }