ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/src/main/java/util/ArrayDeque.java
(Generate patch)

Comparing jsr166/src/main/java/util/ArrayDeque.java (file contents):
Revision 1.129 by jsr166, Wed May 31 19:01:08 2017 UTC vs.
Revision 1.132 by jsr166, Sun Oct 22 17:44:02 2017 UTC

# Line 9 | Line 9 | import java.io.Serializable;
9   import java.util.function.Consumer;
10   import java.util.function.Predicate;
11   import java.util.function.UnaryOperator;
12 + import jdk.internal.misc.SharedSecrets;
13  
14   /**
15   * Resizable-array implementation of the {@link Deque} interface.  Array
# Line 212 | Line 213 | public class ArrayDeque<E> extends Abstr
213      }
214  
215      /**
216 <     * Increments i, mod modulus.
216 >     * Circularly increments i, mod modulus.
217       * Precondition and postcondition: 0 <= i < modulus.
218       */
219      static final int inc(int i, int modulus) {
# Line 221 | Line 222 | public class ArrayDeque<E> extends Abstr
222      }
223  
224      /**
225 <     * Decrements i, mod modulus.
225 >     * Circularly decrements i, mod modulus.
226       * Precondition and postcondition: 0 <= i < modulus.
227       */
228      static final int dec(int i, int modulus) {
# Line 234 | Line 235 | public class ArrayDeque<E> extends Abstr
235       * Precondition: 0 <= i < modulus, 0 <= distance <= modulus.
236       * @return index 0 <= i < modulus
237       */
238 <    static final int add(int i, int distance, int modulus) {
238 >    static final int inc(int i, int distance, int modulus) {
239          if ((i += distance) - modulus >= 0) i -= modulus;
240          return i;
241      }
# Line 244 | Line 245 | public class ArrayDeque<E> extends Abstr
245       * Index i must be logically ahead of index j.
246       * Precondition: 0 <= i < modulus, 0 <= j < modulus.
247       * @return the "circular distance" from j to i; corner case i == j
248 <     * is diambiguated to "empty", returning 0.
248 >     * is disambiguated to "empty", returning 0.
249       */
250      static final int sub(int i, int j, int modulus) {
251          if ((i -= j) < 0) i += modulus;
# Line 840 | Line 841 | public class ArrayDeque<E> extends Abstr
841              final int i, n;
842              return ((n = sub(getFence(), i = cursor, es.length) >> 1) <= 0)
843                  ? null
844 <                : new DeqSpliterator(i, cursor = add(i, n, es.length));
844 >                : new DeqSpliterator(i, cursor = inc(i, n, es.length));
845          }
846  
847          public void forEachRemaining(Consumer<? super E> action) {
# Line 1235 | Line 1236 | public class ArrayDeque<E> extends Abstr
1236  
1237          // Read in size and allocate array
1238          int size = s.readInt();
1239 +        SharedSecrets.getJavaObjectInputStreamAccess().checkArray(s, Object[].class, size + 1);
1240          elements = new Object[size + 1];
1241          this.tail = size;
1242  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines