> On Jun 1, 2020, at 4:28 PM, Paul Sandoz <paul.san...@oracle.com> wrote:
> 
> Can we consolidate the use of Integer.MAX_VALUE - 8 in tests by referring to 
> the constant jdk.internal.util.ArraysSupport.MAX_ARRAY_LENGTH?

I suppose  it's possible to add module for 
java.base/jdk.internal.util.ArraysSupport to the tests.

The mission here was to provide useful error messages. If we're going to clean 
up growing arrays throughout the JDK, I feel that is a separate mission, 
probably not something that we should be doing just before RD1.

We should probably have gone one step further with 
jdk.internal.util.ArraysSupport.newLength and just defined  
jdk.internal.util.ArraysSupport.growArray(array, newSize, () -> { // exception 
code });

> 
> 
> StringJoiner.java
> —
> 
> 164     @Override
> 165     public String toString() {
> 166         final String[] elts = this.elts;
> 167         if (elts == null && emptyValue != null) {
> 168             return emptyValue;
> 169         }
> 170         final int size = this.size;
> 171         final int addLen = prefix.length() + suffix.length();
> 172         if (len < 0 || len + addLen < 0) {
> 
> It bothers me that len might be < 0, suggesting a larger issue. Perhaps look 
> at the add method where len is modified?

I thought about it but that would change the behaviour of StringJoiner. An 
error would be thrown on the add. Existing code that added but then tested 
length before trying a toString() would fail too soon.

> 
> 
> 173             throw new
> 174             OutOfMemoryError("Resulting string is exceeds maximum size”);
> 
> "Resulting string is exceeds… ” -> "Resulting string exceeds… "

Oops, thanks.


> 
> Paul.
> 
> 
>> On Jun 1, 2020, at 8:55 AM, Jim Laskey <james.las...@oracle.com> wrote:
>> 
>> Change NegativeArraySizeException to OutOfMemoryError. Tests added.
>> 
>> Cheers,
>> 
>> -- Jim
>> 
>> webrev: http://cr.openjdk.java.net/~jlaskey/8230743/webrev-00/index.html 
>> <http://cr.openjdk.java.net/~jlaskey/8230743/webrev-00/index.html>
>> jbs: https://bugs.openjdk.java.net/browse/JDK-8230743 
>> <https://bugs.openjdk.java.net/browse/JDK-8230743>
>> 
> 

Reply via email to