Hi Martin, sorry for jumping on this conversation lately, please don't be seduced by the dark side,
I understand that the code is 1 byte bigger, but i think that the following code final int s = this.size; Object[] elementData = this.elementData; if (s == elementData.length) { elementData = grow(); } is more readable than final int s; Object[] elementData; if ((s = size) == (elementData = this.elementData).length) elementData = grow(); cheers, Rémi ----- Mail original ----- > De: "Martin Buchholz" <marti...@google.com> > À: "Stuart Marks" <stuart.ma...@oracle.com> > Cc: "core-libs-dev" <core-libs-dev@openjdk.java.net> > Envoyé: Mardi 26 Janvier 2016 01:49:41 > Objet: Re: RFR: JDK-8146568 NegativeArraySizeException in ArrayList.grow(int) > > I already regret touching crufty old Vector, but it had the same bug > to fix, and more surprisingly the same sort of performance improvement > from doing the obvious port. So ... Stuart, please review also > > http://cr.openjdk.java.net/~martin/webrevs/openjdk9/Vector-grow/ > https://bugs.openjdk.java.net/browse/JDK-8148174 > > > On Fri, Jan 22, 2016 at 2:30 PM, Stuart Marks <stuart.ma...@oracle.com> > wrote: > > > > > > On 1/22/16 12:02 PM, Martin Buchholz wrote: > >> > >> I went "by the book" as you suggested and now throw > >> InvalidObjectException when size < 0. > >> (But I've been saying for a decade: if we're serious about > >> Serialization, it needs to be someone's full time job) > > > > > > "Admiral, if we go by the book, years could turn into decades." > > > > Thanks for the update; this looks great to me. > > > > s'marks >