[OpenJDK 2D-Dev] Review request for bug 100053

Jim Graham Jim.A.Graham at Sun.COM
Thu Oct 1 23:07:06 UTC 2009


I could go too ways on this.

It looks like the code is looking to drop arrays that have grown so that 
it doesn't waste memory.  Do we reuse these objects?  If not, then the 
code can be deleted.

If we do reuse them, then why not just set them to null and let them get 
recreated the next time rather than allocate something which may not get 
used for a while?

In either case, if the array was null, is there a need to allocate one? 
  Shouldn't it be "if (array != null && array.length > DEFAULT)"?

			...jim

Dmitri Trembovetski wrote:
> 
>   Hi Roman,
> 
> Roman Kennke wrote:
>> Hi Dmitri,
>>
>>>    a comment about the test: would the bug reproduce if you just 
>>> rendered into a BufferedImage? If so, no need for creating a frame 
>>> and such.
>>
>> Oh yes. Stupid me :-)
>>
>>>    Regarding the fix, it looks ok - but there are other places in the 
>>> code where the 'crossings' is accessed - are those safe from an NPE?
>>
>> I followed all usages of crossings and crossingsIndices and they all end
>> up in endRendering(). There is a loop at the beginning of which the
>> arrays get initialized using setCrossingsExtends(). The problem occured
>> when this loop was never entered, in that case we hit
>> crossingListFinished() with (possibly) null arrays. There I added the
>> null checks and it should cover all potential NPEs on these arrays.
>>
>> The updated webrev is:
>>
>> http://cr.openjdk.java.net/~rkennke/100053/webrev.01/
>>
>> Ok now?
> 
>   Yes, looks fine.
> 
>   Thanks,
>     Dmitri
> 
> 
>>
>> Thanks, Roman
>>
>>



More information about the 2d-dev mailing list