RFR: jsr166 integration 2018-06

Paul Sandoz paul.sandoz at oracle.com
Fri Jun 22 17:28:45 UTC 2018



> On Jun 21, 2018, at 6:28 PM, Martin Buchholz <martinrb at google.com> wrote:
> 
> JDK 11 draws nigh.
> 

Indeed, comments below,
Paul.


> http://cr.openjdk.java.net/~martin/webrevs/jdk/jsr166-integration/overview.html
> 
> 8202422: value of 'sizeCtl' in ConcurrentHashMap varies with the constructor called
> http://cr.openjdk.java.net/~martin/webrevs/jdk/jsr166-integration/sizeCtl/index.html
> https://bugs.openjdk.java.net/browse/JDK-8202422
> 

+1


> 8203864: Execution error in Java's Timsort
> http://cr.openjdk.java.net/~martin/webrevs/jdk/jsr166-integration/TimSort/index.html
> https://bugs.openjdk.java.net/browse/JDK-8203864
> 

 406             if (n > 0 && runLen[n-1] <= runLen[n] + runLen[n+1] ||
 407                 n > 1 && runLen[n-2] <= runLen[n] + runLen[n-1]) {
 408                 if (runLen[n - 1] < runLen[n + 1])
 409                     n--;

Minor comment, would be good if consistent style is used for the index expressions. I have a marginal preference to retaining ordering from a “picture this in my head" kind of thing, specifically:

  runLen[n - 2] <= runLen[n - 1] + runLen[n]


> ---
> We've been unable to reach agreement on 8203662 - it remains in limbo.
> 
> 8203662: remove increment of modCount from ArrayList and Vector replaceAll()
> http://cr.openjdk.java.net/~martin/webrevs/jdk/jsr166-integration/replaceAll/index.html
> https://bugs.openjdk.java.net/browse/JDK-8203662
> 

I thought there was enough consensus to go forward with this. I accept the outcome.


> 8203681: Miscellaneous changes imported from jsr166 CVS 2018-06
> http://cr.openjdk.java.net/~martin/webrevs/jdk/jsr166-integration/miscellaneous/index.html
> https://bugs.openjdk.java.net/browse/JDK-8203681
> 


TimeUnit.java
—

      * is equivalent to
      * {@code unit.convert(n, NANOSECONDS)}, and
      * {@code unit.convert(Duration.of(n, unit.toChronoUnit()))}
      * is equivalent to {@code n} (in the absence of overflow).
      *
+     * <p>This method differs from {@link Duration#toNanos()} in that
+     * it does not throw {@link ArithmeticException} on numeric overflow.
+     *

Is that intended to be an api note?





More information about the core-libs-dev mailing list