--- jsr166/src/main/java/util/ArrayPrefixHelpers.java 2013/01/20 04:25:11 1.2 +++ jsr166/src/main/java/util/ArrayPrefixHelpers.java 2019/10/10 16:58:35 1.13 @@ -5,12 +5,13 @@ */ package java.util; -import java.util.concurrent.ForkJoinPool; + import java.util.concurrent.CountedCompleter; +import java.util.concurrent.ForkJoinPool; import java.util.function.BinaryOperator; +import java.util.function.DoubleBinaryOperator; import java.util.function.IntBinaryOperator; import java.util.function.LongBinaryOperator; -import java.util.function.DoubleBinaryOperator; /** * ForkJoin tasks to perform Arrays.parallelPrefix operations. @@ -19,7 +20,7 @@ import java.util.function.DoubleBinaryOp * @since 1.8 */ class ArrayPrefixHelpers { - private ArrayPrefixHelpers() {}; // non-instantiable + private ArrayPrefixHelpers() {} // non-instantiable /* * Parallel prefix (aka cumulate, scan) task classes @@ -73,10 +74,15 @@ class ArrayPrefixHelpers { static final int MIN_PARTITION = 16; static final class CumulateTask extends CountedCompleter { + @SuppressWarnings("serial") // Not statically typed as Serializable final T[] array; + @SuppressWarnings("serial") // Not statically typed as Serializable final BinaryOperator function; CumulateTask left, right; - T in, out; + @SuppressWarnings("serial") // Not statically typed as Serializable + T in; + @SuppressWarnings("serial") // Not statically typed as Serializable + T out; final int lo, hi, origin, fence, threshold; /** Root task constructor */ @@ -117,7 +123,7 @@ class ArrayPrefixHelpers { int mid = (l + h) >>> 1; f = rt = t.right = new CumulateTask(t, fn, a, org, fnc, th, mid, h); - t = lt = t.left = + t = lt = t.left = new CumulateTask(t, fn, a, org, fnc, th, l, mid); } else { // possibly refork @@ -221,11 +227,13 @@ class ArrayPrefixHelpers { } } } + // OPENJDK @java.io.Serial private static final long serialVersionUID = 5293554502939613543L; } static final class LongCumulateTask extends CountedCompleter { final long[] array; + @SuppressWarnings("serial") // Not statically typed as Serializable final LongBinaryOperator function; LongCumulateTask left, right; long in, out; @@ -269,7 +277,7 @@ class ArrayPrefixHelpers { int mid = (l + h) >>> 1; f = rt = t.right = new LongCumulateTask(t, fn, a, org, fnc, th, mid, h); - t = lt = t.left = + t = lt = t.left = new LongCumulateTask(t, fn, a, org, fnc, th, l, mid); } else { // possibly refork @@ -371,11 +379,13 @@ class ArrayPrefixHelpers { } } } + // OPENJDK @java.io.Serial private static final long serialVersionUID = -5074099945909284273L; } static final class DoubleCumulateTask extends CountedCompleter { final double[] array; + @SuppressWarnings("serial") // Not statically typed as Serializable final DoubleBinaryOperator function; DoubleCumulateTask left, right; double in, out; @@ -383,8 +393,8 @@ class ArrayPrefixHelpers { /** Root task constructor */ public DoubleCumulateTask(DoubleCumulateTask parent, - DoubleBinaryOperator function, - double[] array, int lo, int hi) { + DoubleBinaryOperator function, + double[] array, int lo, int hi) { super(parent); this.function = function; this.array = array; this.lo = this.origin = lo; this.hi = this.fence = hi; @@ -396,8 +406,8 @@ class ArrayPrefixHelpers { /** Subtask constructor */ DoubleCumulateTask(DoubleCumulateTask parent, DoubleBinaryOperator function, - double[] array, int origin, int fence, int threshold, - int lo, int hi) { + double[] array, int origin, int fence, int threshold, + int lo, int hi) { super(parent); this.function = function; this.array = array; this.origin = origin; this.fence = fence; @@ -419,7 +429,7 @@ class ArrayPrefixHelpers { int mid = (l + h) >>> 1; f = rt = t.right = new DoubleCumulateTask(t, fn, a, org, fnc, th, mid, h); - t = lt = t.left = + t = lt = t.left = new DoubleCumulateTask(t, fn, a, org, fnc, th, l, mid); } else { // possibly refork @@ -521,11 +531,13 @@ class ArrayPrefixHelpers { } } } + // OPENJDK @java.io.Serial private static final long serialVersionUID = -586947823794232033L; } static final class IntCumulateTask extends CountedCompleter { final int[] array; + @SuppressWarnings("serial") // Not statically typed as Serializable final IntBinaryOperator function; IntCumulateTask left, right; int in, out; @@ -533,8 +545,8 @@ class ArrayPrefixHelpers { /** Root task constructor */ public IntCumulateTask(IntCumulateTask parent, - IntBinaryOperator function, - int[] array, int lo, int hi) { + IntBinaryOperator function, + int[] array, int lo, int hi) { super(parent); this.function = function; this.array = array; this.lo = this.origin = lo; this.hi = this.fence = hi; @@ -546,8 +558,8 @@ class ArrayPrefixHelpers { /** Subtask constructor */ IntCumulateTask(IntCumulateTask parent, IntBinaryOperator function, - int[] array, int origin, int fence, int threshold, - int lo, int hi) { + int[] array, int origin, int fence, int threshold, + int lo, int hi) { super(parent); this.function = function; this.array = array; this.origin = origin; this.fence = fence; @@ -569,7 +581,7 @@ class ArrayPrefixHelpers { int mid = (l + h) >>> 1; f = rt = t.right = new IntCumulateTask(t, fn, a, org, fnc, th, mid, h); - t = lt = t.left = + t = lt = t.left = new IntCumulateTask(t, fn, a, org, fnc, th, l, mid); } else { // possibly refork @@ -671,7 +683,7 @@ class ArrayPrefixHelpers { } } } + // OPENJDK @java.io.Serial private static final long serialVersionUID = 3731755594596840961L; } - }