Improve the speed of Method.hashCode by caching the hashcode on first use. I've 
seen an application where Method.hashCode is a hot path, and this is a fairly 
simple speedup. The memory overhead is low. 

This addresses issue 
[JDK-8332249](https://bugs.openjdk.org/browse/JDK-8332249). 

Before:

Benchmark                         Mode  Cnt  Score   Error  Units
# Intel Skylake
MethodHashCode.benchmarkHashCode  avgt    5  1.843 ± 0.149  ns/op
# Arm Neoverse N1
MethodHashCode.benchmarkHashCode  avgt    5  2.363 ± 0.091  ns/op



After:


Benchmark                         Mode  Cnt  Score   Error  Units
# Intel Skylake
MethodHashCode.benchmarkHashCode  avgt    5  1.121 ± 1.189  ns/op
# Arm Neoverse N1
MethodHashCode.benchmarkHashCode  avgt    5  1.001 ± 0.001  ns/op

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

Commit messages:
 - Remove changes to JavaDoc per guidance.
 - Fix whitespace issues pointed by the bot
 - Micro-optimize Method.hashCode

Changes: https://git.openjdk.org/jdk/pull/19433/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=19433&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8332249
  Stats: 58 lines in 2 files changed: 57 ins; 0 del; 1 mod
  Patch: https://git.openjdk.org/jdk/pull/19433.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/19433/head:pull/19433

PR: https://git.openjdk.org/jdk/pull/19433

Reply via email to