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

Ivan Gerasimov ivan.gerasimov at oracle.com
Wed Jul 9 00:25:20 UTC 2014


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 * MAXIMUM_CAPACITY, 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