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

Martin Buchholz martinrb at google.com
Fri Jul 11 19:32:30 UTC 2014


I don't care how you split up attributions.  Just put those of us who have
openjdk user names in the reviewed-by.

Contributed-by is generally for those who don't have an openjdk user name.


On Fri, Jul 11, 2014 at 12:27 PM, Ivan Gerasimov <ivan.gerasimov at oracle.com>
wrote:

>
> On 11.07.2014 23:07, Martin Buchholz wrote:
>
> Ivan, feel free to submit your latest webrev.  We have consensus that
> changes being made are progress.
>
>
>  Yes, I was going to do that during the weekend after control rebuild.
>
> What is the right way to form the commit message here?
> Would it be ok if the same person is in both Reviewed-by and
> Contributed-by lines?
>
> Reviewed-by: plevart, martin
> Contributed-by: igerasim, martin
>
> I didn't find Jeff Hain on the census page, so I could not specify him as
> a reviewer.
>
> Sincerely yours,
> Ivan
>
>
>  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