--- old/src/java.base/share/classes/java/util/concurrent/atomic/LongAdder.java 2021-01-05 09:11:27.905023912 -0800 +++ new/src/java.base/share/classes/java/util/concurrent/atomic/LongAdder.java 2021-01-05 09:11:27.413027765 -0800 @@ -85,11 +85,12 @@ public void add(long x) { Cell[] cs; long b, v; int m; Cell c; if ((cs = cells) != null || !casBase(b = base, b + x)) { + int index = getProbe(); boolean uncontended = true; if (cs == null || (m = cs.length - 1) < 0 || - (c = cs[getProbe() & m]) == null || + (c = cs[index & m]) == null || !(uncontended = c.cas(v = c.value, v + x))) - longAccumulate(x, null, uncontended); + longAccumulate(x, null, uncontended, index); } }