src/java.base/share/classes/java/util/concurrent/ArrayBlockingQueue.java
changeset 50764 5637aca18f1d
parent 49433 b6671a111395
child 58657 6252605fb005
equal deleted inserted replaced
50763:3a6d47df8239 50764:5637aca18f1d
  1127 
  1127 
  1128             if (cycles != prevCycles || takeIndex != prevTakeIndex) {
  1128             if (cycles != prevCycles || takeIndex != prevTakeIndex) {
  1129                 final int len = items.length;
  1129                 final int len = items.length;
  1130                 // how far takeIndex has advanced since the previous
  1130                 // how far takeIndex has advanced since the previous
  1131                 // operation of this iterator
  1131                 // operation of this iterator
  1132                 long dequeues = (cycles - prevCycles) * len
  1132                 long dequeues = (long) (cycles - prevCycles) * len
  1133                     + (takeIndex - prevTakeIndex);
  1133                     + (takeIndex - prevTakeIndex);
  1134 
  1134 
  1135                 // Check indices for invalidation
  1135                 // Check indices for invalidation
  1136                 if (invalidated(lastRet, prevTakeIndex, dequeues, len))
  1136                 if (invalidated(lastRet, prevTakeIndex, dequeues, len))
  1137                     lastRet = REMOVED;
  1137                     lastRet = REMOVED;