RFR: 8305896: Alternative full GC forwarding [v12]

Roman Kennke rkennke at openjdk.org
Fri Apr 28 16:47:23 UTC 2023


On Fri, 28 Apr 2023 16:37:33 GMT, Erik Österlund <eosterlund at openjdk.org> wrote:

>> I changed that code to use the murmur3 mixer instead. This is PD and should hopefully not cause troubles.
>
> Is it used in hotspot already? The pragmatic thing would be to not introduce code with external licenses, whatever that license is, unless you want a ride in a legal slow path. We felt that pain with zHash. 1/10 would not recommend. Of course if you need it we can do it, but I'd think twice before going down that route.

It seems to be used in a couple of places already:

grep -R ff51afd7ed558ccd src
src/jdk.jfr/share/classes/jdk/jfr/internal/EventWriterKey.java:        z = (z ^ (z >>> 33)) * 0xff51afd7ed558ccdL;
src/java.base/share/classes/java/util/SplittableRandom.java:        z = (z ^ (z >>> 33)) * 0xff51afd7ed558ccdL; // MurmurHash3 mix constants
src/java.base/share/classes/java/util/concurrent/ThreadLocalRandom.java:        z = (z ^ (z >>> 33)) * 0xff51afd7ed558ccdL;
src/java.base/share/classes/jdk/internal/util/random/RandomSupport.java:        z = (z ^ (z >>> 33)) * 0xff51afd7ed558ccdL;
src/hotspot/share/gc/shared/slidingForwarding.cpp:  val *= 0xff51afd7ed558ccdULL;
src/hotspot/share/gc/shenandoah/shenandoahEvacOOMHandler.cpp:  key *= UINT64_C(0xff51afd7ed558ccd);

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

PR Review Comment: https://git.openjdk.org/jdk/pull/13582#discussion_r1180618557


More information about the shenandoah-dev mailing list