RFR: [6904367]: (coll) IdentityHashMap is resized before exceeding the expected maximum size (original) (raw)

Martin Buchholz martinrb at google.com
Fri Jul 11 19:07:36 UTC 2014


Ivan, feel free to submit your latest webrev. We have consensus that changes being made are progress.

On Tue, Jul 8, 2014 at 5:46 PM, Ivan Gerasimov <ivan.gerasimov at oracle.com> wrote:

Here's the same final webrev by Martin. I only shortened the comment before capacity() and moved the check in resize() upper.

http://cr.openjdk.java.net/~igerasim/6904367/4/webrev/ Sincerely yours, Ivan

On 09.07.2014 4:25, Ivan Gerasimov wrote:

On 09.07.2014 3:20, Martin Buchholz wrote: I agree with Peter that we do not need to increment modCount on resize.

My latest webrev is again "done". Ivan, feel free to take over.

Yes, thanks! The fix is much much better now. I think I see yet another very minor glitch, though. If the table is already of size 2 * MAXIMUMCAPACITY, and we're merging in another map, which has more elements with putAll(), resize() will be called and it will throw, even though all the elements could fit into the map due to the key duplicates. To avoid this the following check should be done first in resize(): 469 if (oldLength >= newLength) 470 return false; Sincerely yours, Ivan



More information about the core-libs-dev mailing list