RFR 8071667 : HashMap.computeIfAbsent() adds entry that HashMap.get() does not find.
Brent Christian
brent.christian at oracle.com
Wed Mar 18 17:46:41 UTC 2015
Hi,
Please review my changes for 8071667 : "HashMap.computeIfAbsent() adds
entry that HashMap.get() does not find"
Bug:
https://bugs.openjdk.java.net/browse/JDK-8071667
Webrev+specdiff:
http://cr.openjdk.java.net/~bchristi/8071667/webrev.2/
The fix is to detect structural changes made by the mapping functions
passed to compute() and friends, and to throw a
ConcurrentModificationException. This prevents possibly adding entries
in the wrong hash bin.
I have updated the docs based on the prior discussion [1], making use of
the new @implSpec/etc tags, as seemed sensible to me. Suggestions welcome.
Automated test run is clean. If the new docs look good, I'll start a CCC.
Thanks,
-Brent
1.
http://mail.openjdk.java.net/pipermail/core-libs-dev/2015-February/031245.html
More information about the core-libs-dev
mailing list