Jim,

let's go back to concrete code:

2015-04-04 0:25 GMT+02:00 Jim Graham <james.gra...@oracle.com>:

> The patch as it is will make things much better, but it may be worth
> "doing it right" as long as we are revisiting this algorithm and write it
> to deal better with the OOME/integer overflow cases.
>

My patch is very simple and a lot better for huge paths.
It is not perfect as it does not handle integer overflow (impossible case
for me) nor OOME.

How could I handle OOME first ? any advice ?

I could try allocating a smaller array in case of OOME ? any example in JDK
?


> I looked at the ArrayList code and found a bit of voodoo there in the
> overflow code which troubled me as a potential maintainer.  It's one thing
> to write clever code, it's another thing to write clever code that others
> can come along and maintain without having to fill a white board with
> input/output ranges and 2's complement rules.  It's not like this code is
> going to be in an inner loop somewhere - the time for a couple of
> conditional checks and min/maxes will be vastly swallowed by the costs of
> allocation and copying data so it would be better to just write
> straightforward code whose overflow considerations are documented for
> future maintainers.  (Having said that I probably wrote some pretty
> obtusely clever code in the Rectangle class myself... D'oh!)  My general
> goal is to include comments with the incoming assumptions and then document
> how I've ruled out cases and narrowed ranges with small single-line
> comments as the calculations and decisions are made...
>

Please give me hints, so I could improve the proposed webrev.

Laurent

Reply via email to