changeset 54966:d230a0406623

8216049: stringTable::intern creates redundant String when looking up existing one Reviewed-by: redestad, gziemski, rehn, zgu, jiangli
author shade
date Sat, 16 Feb 2019 21:15:33 +0100
parents 31e3aa9c0c71
children 2a78b2963793 f42d42c1ebdc
files src/hotspot/share/classfile/stringTable.cpp
diffstat 1 files changed, 4 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/hotspot/share/classfile/stringTable.cpp	Sat Feb 16 11:40:34 2019 +0900
+++ b/src/hotspot/share/classfile/stringTable.cpp	Sat Feb 16 21:15:33 2019 +0100
@@ -334,6 +334,10 @@
   if (StringTable::_alt_hash) {
     hash = hash_string(name, len, true);
   }
+  found_string = StringTable::the_table()->do_lookup(name, len, hash);
+  if (found_string != NULL) {
+    return found_string;
+  }
   return StringTable::the_table()->do_intern(string_or_null_h, name, len,
                                              hash, CHECK_NULL);
 }