8216049: stringTable::intern creates redundant String when looking up existing one

Reviewed-by: redestad, gziemski, rehn, zgu, jiangli
This commit is contained in:
Aleksey Shipilev 2019-02-16 21:15:33 +01:00
parent fcf50f8419
commit 7a86bc1c4f

View file

@ -334,6 +334,10 @@ oop StringTable::intern(Handle string_or_null_h, const jchar* name, int len, TRA
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);
}