On Mon, 8 Jul 2024 13:09:50 GMT, Adam Sotona <asot...@openjdk.org> wrote:

> Class-File API constant pool implementation requires non-zero entry hash code.
> Unfortunately current implementation computes zero hash code for specific CP 
> entries.
> 
> This patch removes invalid and obsolete `AbstractPoolEntry::phiMix` 
> calculation and assures all pool entries have non-zero hash. A regression 
> test of the actual zero-hash `IntegerEntry` has been added. 
> 
> All pre-computed hash codes in `BoundAttribute::standardAttribute` are 
> updated.
> 
> The patch has no performance effect measurable by any of the actual 
> Class-File API benchmarks.
> 
> Please review.
> 
> Thanks,
> Adam

src/java.base/share/classes/jdk/internal/classfile/impl/BootstrapMethodEntryImpl.java
 line 79:

> 77:     static int computeHashCode(MethodHandleEntryImpl handle,
> 78:                                List<? extends LoadableConstantEntry> 
> arguments) {
> 79:         return 31 * handle.hashCode() + arguments.hashCode();

Should we update the algorithm here, as this algorithm processes hash codes of 
the 2nd last item of arguments and the handle the same, both just multiplied by 
31?

Also need a copyright year update.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/20074#discussion_r1668690446

Reply via email to