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