RFR: 8258048: Placeholder hash code is the same as Dictionary hash code [v2]
Lois Foltan
lfoltan at openjdk.java.net
Wed Dec 16 15:16:03 UTC 2020
On Wed, 16 Dec 2020 13:10:11 GMT, Coleen Phillimore <coleenp at openjdk.org> wrote:
>> This change is a set of cleanups to the placeholders hashtable. It moves the index calculation inside the hashtable. It avoids using the placeholder hashcode because it's the same hashcode as the dictionary hashcode. There are some asserts for this.
>>
>> One of the find_class() functions is redundant to dictionary->find_class() so is removed.
>>
>> Tested with tier1-6.
>
> Coleen Phillimore has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains two additional commits since the last revision:
>
> - Merge branch 'master' into class-loading
> - 8258048: Placeholder hash code is the same as Dictionary hash code
Nice cleanup Coleen!
Lois
src/hotspot/share/classfile/placeholders.cpp line 133:
> 131: Symbol* supername,
> 132: Thread* thread) {
> 133: PlaceholderEntry* probe = get_entry(hash, name, loader_data);
Minor nit of a comment since you are in this file and specifically in this method can you consider changing the if statement conditional at line #143 to explicitly check if (probe != NULL)? I noticed line #167 has this type of conditional and it would be good to have consistency. I think there are some other cases in this file, like line #119, where it is inconsistent.
-------------
Marked as reviewed by lfoltan (Reviewer).
PR: https://git.openjdk.java.net/jdk/pull/1789
More information about the hotspot-runtime-dev
mailing list