--- old/src/java.base/share/classes/java/util/concurrent/atomic/LongAccumulator.java 2021-01-09 11:35:46.349013077 -0800 +++ new/src/java.base/share/classes/java/util/concurrent/atomic/LongAccumulator.java 2021-01-09 11:35:46.061015342 -0800 @@ -108,14 +108,15 @@ if ((cs = cells) != null || ((r = function.applyAsLong(b = base, x)) != b && !casBase(b, r))) { + 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 = (r = function.applyAsLong(v = c.value, x)) == v || c.cas(v, r))) - longAccumulate(x, function, uncontended); + longAccumulate(x, function, uncontended, index); } }