RFR: [6904367]: (coll) IdentityHashMap is resized before exceeding the expected maximum size
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 * 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