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.100 by jsr166, Sun Oct 30 16:50:05 2016 UTC vs.
Revision 1.101 by jsr166, Sun Oct 30 19:34:36 2016 UTC

# Line 1112 | Line 1112 | public class ArrayDeque<E> extends Abstr
1112          if ((size = this.size) > a.length)
1113              return toArray((Class<T[]>) a.getClass());
1114          final Object[] es = elements;
1115 <        final int head = this.head, end = head + size;
1116 <        final int front = (es.length - end >= 0) ? size : es.length - head;
1117 <        System.arraycopy(es, head, a, 0, front);
1118 <        if (front < size)
1119 <            System.arraycopy(es, 0, a, front, size - front);
1115 >        int i, j, len, todo;
1116 >        todo = size - (len = Math.min(size, es.length - (i = head)));
1117 >        for (j = 0;; j += len, len = todo, todo = 0, i = 0) {
1118 >            System.arraycopy(es, i, a, j, len);
1119 >            if (todo == 0) break;
1120 >        }
1121          if (size < a.length)
1122              a[size] = null;
1123          return a;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines