Lines Matching defs:ReferenceEntry

376           Segment<K, V> segment, ReferenceEntry<K, V> entry, V value, int weight) {
391 Segment<K, V> segment, ReferenceEntry<K, V> entry, V value, int weight) {
407 Segment<K, V> segment, ReferenceEntry<K, V> entry, V value, int weight) {
424 Segment<K, V> segment, ReferenceEntry<K, V> entry, V value, int weight);
440 <K, V> ReferenceEntry<K, V> newEntry(
441 Segment<K, V> segment, K key, int hash, @Nullable ReferenceEntry<K, V> next) {
447 <K, V> ReferenceEntry<K, V> newEntry(
448 Segment<K, V> segment, K key, int hash, @Nullable ReferenceEntry<K, V> next) {
453 <K, V> ReferenceEntry<K, V> copyEntry(
454 Segment<K, V> segment, ReferenceEntry<K, V> original, ReferenceEntry<K, V> newNext) {
455 ReferenceEntry<K, V> newEntry = super.copyEntry(segment, original, newNext);
462 <K, V> ReferenceEntry<K, V> newEntry(
463 Segment<K, V> segment, K key, int hash, @Nullable ReferenceEntry<K, V> next) {
468 <K, V> ReferenceEntry<K, V> copyEntry(
469 Segment<K, V> segment, ReferenceEntry<K, V> original, ReferenceEntry<K, V> newNext) {
470 ReferenceEntry<K, V> newEntry = super.copyEntry(segment, original, newNext);
477 <K, V> ReferenceEntry<K, V> newEntry(
478 Segment<K, V> segment, K key, int hash, @Nullable ReferenceEntry<K, V> next) {
483 <K, V> ReferenceEntry<K, V> copyEntry(
484 Segment<K, V> segment, ReferenceEntry<K, V> original, ReferenceEntry<K, V> newNext) {
485 ReferenceEntry<K, V> newEntry = super.copyEntry(segment, original, newNext);
494 <K, V> ReferenceEntry<K, V> newEntry(
495 Segment<K, V> segment, K key, int hash, @Nullable ReferenceEntry<K, V> next) {
501 <K, V> ReferenceEntry<K, V> newEntry(
502 Segment<K, V> segment, K key, int hash, @Nullable ReferenceEntry<K, V> next) {
507 <K, V> ReferenceEntry<K, V> copyEntry(
508 Segment<K, V> segment, ReferenceEntry<K, V> original, ReferenceEntry<K, V> newNext) {
509 ReferenceEntry<K, V> newEntry = super.copyEntry(segment, original, newNext);
516 <K, V> ReferenceEntry<K, V> newEntry(
517 Segment<K, V> segment, K key, int hash, @Nullable ReferenceEntry<K, V> next) {
522 <K, V> ReferenceEntry<K, V> copyEntry(
523 Segment<K, V> segment, ReferenceEntry<K, V> original, ReferenceEntry<K, V> newNext) {
524 ReferenceEntry<K, V> newEntry = super.copyEntry(segment, original, newNext);
531 <K, V> ReferenceEntry<K, V> newEntry(
532 Segment<K, V> segment, K key, int hash, @Nullable ReferenceEntry<K, V> next) {
537 <K, V> ReferenceEntry<K, V> copyEntry(
538 Segment<K, V> segment, ReferenceEntry<K, V> original, ReferenceEntry<K, V> newNext) {
539 ReferenceEntry<K, V> newEntry = super.copyEntry(segment, original, newNext);
577 abstract <K, V> ReferenceEntry<K, V> newEntry(
578 Segment<K, V> segment, K key, int hash, @Nullable ReferenceEntry<K, V> next);
587 <K, V> ReferenceEntry<K, V> copyEntry(
588 Segment<K, V> segment, ReferenceEntry<K, V> original, ReferenceEntry<K, V> newNext) {
593 <K, V> void copyAccessEntry(ReferenceEntry<K, V> original, ReferenceEntry<K, V> newEntry) {
605 <K, V> void copyWriteEntry(ReferenceEntry<K, V> original, ReferenceEntry<K, V> newEntry) {
646 ReferenceEntry<K, V> getEntry();
651 ValueReference<K, V> copyFor(ReferenceQueue<V> queue, ReferenceEntry<K, V> entry);
691 public ReferenceEntry<Object, Object> getEntry() {
697 ReferenceQueue<Object> queue, ReferenceEntry<Object, Object> entry) {
742 interface ReferenceEntry<K, V> {
757 ReferenceEntry<K, V> getNext();
789 ReferenceEntry<K, V> getNextInAccessQueue();
794 void setNextInAccessQueue(ReferenceEntry<K, V> next);
799 ReferenceEntry<K, V> getPreviousInAccessQueue();
804 void setPreviousInAccessQueue(ReferenceEntry<K, V> previous);
825 ReferenceEntry<K, V> getNextInWriteQueue();
830 void setNextInWriteQueue(ReferenceEntry<K, V> next);
835 ReferenceEntry<K, V> getPreviousInWriteQueue();
840 void setPreviousInWriteQueue(ReferenceEntry<K, V> previous);
843 private enum NullEntry implements ReferenceEntry<Object, Object> {
855 public ReferenceEntry<Object, Object> getNext() {
878 public ReferenceEntry<Object, Object> getNextInAccessQueue() {
883 public void setNextInAccessQueue(ReferenceEntry<Object, Object> next) {}
886 public ReferenceEntry<Object, Object> getPreviousInAccessQueue() {
891 public void setPreviousInAccessQueue(ReferenceEntry<Object, Object> previous) {}
902 public ReferenceEntry<Object, Object> getNextInWriteQueue() {
907 public void setNextInWriteQueue(ReferenceEntry<Object, Object> next) {}
910 public ReferenceEntry<Object, Object> getPreviousInWriteQueue() {
915 public void setPreviousInWriteQueue(ReferenceEntry<Object, Object> previous) {}
918 static abstract class AbstractReferenceEntry<K, V> implements ReferenceEntry<K, V> {
930 public ReferenceEntry<K, V> getNext() {
955 public ReferenceEntry<K, V> getNextInAccessQueue() {
960 public void setNextInAccessQueue(ReferenceEntry<K, V> next) {
965 public ReferenceEntry<K, V> getPreviousInAccessQueue() {
970 public void setPreviousInAccessQueue(ReferenceEntry<K, V> previous) {
985 public ReferenceEntry<K, V> getNextInWriteQueue() {
990 public void setNextInWriteQueue(ReferenceEntry<K, V> next) {
995 public ReferenceEntry<K, V> getPreviousInWriteQueue() {
1000 public void setPreviousInWriteQueue(ReferenceEntry<K, V> previous) {
1006 static <K, V> ReferenceEntry<K, V> nullEntry() {
1007 return (ReferenceEntry<K, V>) NullEntry.INSTANCE;
1056 static class StrongEntry<K, V> implements ReferenceEntry<K, V> {
1059 StrongEntry(K key, int hash, @Nullable ReferenceEntry<K, V> next) {
1083 public ReferenceEntry<K, V> getNextInAccessQueue() {
1088 public void setNextInAccessQueue(ReferenceEntry<K, V> next) {
1093 public ReferenceEntry<K, V> getPreviousInAccessQueue() {
1098 public void setPreviousInAccessQueue(ReferenceEntry<K, V> previous) {
1115 public ReferenceEntry<K, V> getNextInWriteQueue() {
1120 public void setNextInWriteQueue(ReferenceEntry<K, V> next) {
1125 public ReferenceEntry<K, V> getPreviousInWriteQueue() {
1130 public void setPreviousInWriteQueue(ReferenceEntry<K, V> previous) {
1137 final ReferenceEntry<K, V> next;
1156 public ReferenceEntry<K, V> getNext() {
1162 implements ReferenceEntry<K, V> {
1163 StrongAccessEntry(K key, int hash, @Nullable ReferenceEntry<K, V> next) {
1182 ReferenceEntry<K, V> nextAccess = nullEntry();
1185 public ReferenceEntry<K, V> getNextInAccessQueue() {
1190 public void setNextInAccessQueue(ReferenceEntry<K, V> next) {
1195 ReferenceEntry<K, V> previousAccess = nullEntry();
1198 public ReferenceEntry<K, V> getPreviousInAccessQueue() {
1203 public void setPreviousInAccessQueue(ReferenceEntry<K, V> previous) {
1209 extends StrongEntry<K, V> implements ReferenceEntry<K, V> {
1210 StrongWriteEntry(K key, int hash, @Nullable ReferenceEntry<K, V> next) {
1229 ReferenceEntry<K, V> nextWrite = nullEntry();
1232 public ReferenceEntry<K, V> getNextInWriteQueue() {
1237 public void setNextInWriteQueue(ReferenceEntry<K, V> next) {
1242 ReferenceEntry<K, V> previousWrite = nullEntry();
1245 public ReferenceEntry<K, V> getPreviousInWriteQueue() {
1250 public void setPreviousInWriteQueue(ReferenceEntry<K, V> previous) {
1256 extends StrongEntry<K, V> implements ReferenceEntry<K, V> {
1257 StrongAccessWriteEntry(K key, int hash, @Nullable ReferenceEntry<K, V> next) {
1276 ReferenceEntry<K, V> nextAccess = nullEntry();
1279 public ReferenceEntry<K, V> getNextInAccessQueue() {
1284 public void setNextInAccessQueue(ReferenceEntry<K, V> next) {
1289 ReferenceEntry<K, V> previousAccess = nullEntry();
1292 public ReferenceEntry<K, V> getPreviousInAccessQueue() {
1297 public void setPreviousInAccessQueue(ReferenceEntry<K, V> previous) {
1316 ReferenceEntry<K, V> nextWrite = nullEntry();
1319 public ReferenceEntry<K, V> getNextInWriteQueue() {
1324 public void setNextInWriteQueue(ReferenceEntry<K, V> next) {
1329 ReferenceEntry<K, V> previousWrite = nullEntry();
1332 public ReferenceEntry<K, V> getPreviousInWriteQueue() {
1337 public void setPreviousInWriteQueue(ReferenceEntry<K, V> previous) {
1345 static class WeakEntry<K, V> extends WeakReference<K> implements ReferenceEntry<K, V> {
1346 WeakEntry(ReferenceQueue<K> queue, K key, int hash, @Nullable ReferenceEntry<K, V> next) {
1370 public ReferenceEntry<K, V> getNextInAccessQueue() {
1375 public void setNextInAccessQueue(ReferenceEntry<K, V> next) {
1380 public ReferenceEntry<K, V> getPreviousInAccessQueue() {
1385 public void setPreviousInAccessQueue(ReferenceEntry<K, V> previous) {
1402 public ReferenceEntry<K, V> getNextInWriteQueue() {
1407 public void setNextInWriteQueue(ReferenceEntry<K, V> next) {
1412 public ReferenceEntry<K, V> getPreviousInWriteQueue() {
1417 public void setPreviousInWriteQueue(ReferenceEntry<K, V> previous) {
1424 final ReferenceEntry<K, V> next;
1443 public ReferenceEntry<K, V> getNext() {
1449 extends WeakEntry<K, V> implements ReferenceEntry<K, V> {
1451 ReferenceQueue<K> queue, K key, int hash, @Nullable ReferenceEntry<K, V> next) {
1470 ReferenceEntry<K, V> nextAccess = nullEntry();
1473 public ReferenceEntry<K, V> getNextInAccessQueue() {
1478 public void setNextInAccessQueue(ReferenceEntry<K, V> next) {
1483 ReferenceEntry<K, V> previousAccess = nullEntry();
1486 public ReferenceEntry<K, V> getPreviousInAccessQueue() {
1491 public void setPreviousInAccessQueue(ReferenceEntry<K, V> previous) {
1497 extends WeakEntry<K, V> implements ReferenceEntry<K, V> {
1499 ReferenceQueue<K> queue, K key, int hash, @Nullable ReferenceEntry<K, V> next) {
1518 ReferenceEntry<K, V> nextWrite = nullEntry();
1521 public ReferenceEntry<K, V> getNextInWriteQueue() {
1526 public void setNextInWriteQueue(ReferenceEntry<K, V> next) {
1531 ReferenceEntry<K, V> previousWrite = nullEntry();
1534 public ReferenceEntry<K, V> getPreviousInWriteQueue() {
1539 public void setPreviousInWriteQueue(ReferenceEntry<K, V> previous) {
1545 extends WeakEntry<K, V> implements ReferenceEntry<K, V> {
1547 ReferenceQueue<K> queue, K key, int hash, @Nullable ReferenceEntry<K, V> next) {
1566 ReferenceEntry<K, V> nextAccess = nullEntry();
1569 public ReferenceEntry<K, V> getNextInAccessQueue() {
1574 public void setNextInAccessQueue(ReferenceEntry<K, V> next) {
1579 ReferenceEntry<K, V> previousAccess = nullEntry();
1582 public ReferenceEntry<K, V> getPreviousInAccessQueue() {
1587 public void setPreviousInAccessQueue(ReferenceEntry<K, V> previous) {
1606 ReferenceEntry<K, V> nextWrite = nullEntry();
1609 public ReferenceEntry<K, V> getNextInWriteQueue() {
1614 public void setNextInWriteQueue(ReferenceEntry<K, V> next) {
1619 ReferenceEntry<K, V> previousWrite = nullEntry();
1622 public ReferenceEntry<K, V> getPreviousInWriteQueue() {
1627 public void setPreviousInWriteQueue(ReferenceEntry<K, V> previous) {
1637 final ReferenceEntry<K, V> entry;
1639 WeakValueReference(ReferenceQueue<V> queue, V referent, ReferenceEntry<K, V> entry) {
1650 public ReferenceEntry<K, V> getEntry() {
1659 ReferenceQueue<V> queue, ReferenceEntry<K, V> entry) {
1684 final ReferenceEntry<K, V> entry;
1686 SoftValueReference(ReferenceQueue<V> queue, V referent, ReferenceEntry<K, V> entry) {
1697 public ReferenceEntry<K, V> getEntry() {
1705 public ValueReference<K, V> copyFor(ReferenceQueue<V> queue, ReferenceEntry<K, V> entry) {
1746 public ReferenceEntry<K, V> getEntry() {
1751 public ValueReference<K, V> copyFor(ReferenceQueue<V> queue, ReferenceEntry<K, V> entry) {
1780 WeightedWeakValueReference(ReferenceQueue<V> queue, V referent, ReferenceEntry<K, V> entry,
1793 ReferenceQueue<V> queue, ReferenceEntry<K, V> entry) {
1804 WeightedSoftValueReference(ReferenceQueue<V> queue, V referent, ReferenceEntry<K, V> entry,
1815 public ValueReference<K, V> copyFor(ReferenceQueue<V> queue, ReferenceEntry<K, V> entry) {
1863 ReferenceEntry<K, V> newEntry(K key, int hash, @Nullable ReferenceEntry<K, V> next) {
1872 ReferenceEntry<K, V> copyEntry(ReferenceEntry<K, V> original, ReferenceEntry<K, V> newNext) {
1882 ValueReference<K, V> newValueReference(ReferenceEntry<K, V> entry, V value, int weight) {
1893 ReferenceEntry<K, V> entry = valueReference.getEntry();
1898 void reclaimKey(ReferenceEntry<K, V> entry) {
1908 boolean isLive(ReferenceEntry<K, V> entry, long now) {
1935 V getLiveValue(ReferenceEntry<K, V> entry, long now) {
1955 boolean isExpired(ReferenceEntry<K, V> entry, long now) {
1970 static <K, V> void connectAccessOrder(ReferenceEntry<K, V> previous, ReferenceEntry<K, V> next) {
1976 static <K, V> void nullifyAccessOrder(ReferenceEntry<K, V> nulled) {
1977 ReferenceEntry<K, V> nullEntry = nullEntry();
1983 static <K, V> void connectWriteOrder(ReferenceEntry<K, V> previous, ReferenceEntry<K, V> next) {
1989 static <K, V> void nullifyWriteOrder(ReferenceEntry<K, V> nulled) {
1990 ReferenceEntry<K, V> nullEntry = nullEntry();
2088 volatile AtomicReferenceArray<ReferenceEntry<K, V>> table;
2112 final Queue<ReferenceEntry<K, V>> recencyQueue;
2125 final Queue<ReferenceEntry<K, V>> writeQueue;
2132 final Queue<ReferenceEntry<K, V>> accessQueue;
2151 ? new ConcurrentLinkedQueue<ReferenceEntry<K, V>>()
2152 : LocalCache.<ReferenceEntry<K, V>>discardingQueue();
2156 : LocalCache.<ReferenceEntry<K, V>>discardingQueue();
2160 : LocalCache.<ReferenceEntry<K, V>>discardingQueue();
2163 AtomicReferenceArray<ReferenceEntry<K, V>> newEntryArray(int size) {
2164 return new AtomicReferenceArray<ReferenceEntry<K, V>>(size);
2167 void initTable(AtomicReferenceArray<ReferenceEntry<K, V>> newTable) {
2177 ReferenceEntry<K, V> newEntry(K key, int hash, @Nullable ReferenceEntry<K, V> next) {
2182 ReferenceEntry<K, V> copyEntry(ReferenceEntry<K, V> original, ReferenceEntry<K, V> newNext) {
2184 ReferenceEntry<K, V> newEntry = map.entryFactory.copyEntry(this, original, newNext);
2193 void setValue(ReferenceEntry<K, V> entry, K key, V value, long now) {
2211 ReferenceEntry<K, V> e = getEntry(key, hash);
2244 ReferenceEntry<K, V> e;
2256 AtomicReferenceArray<ReferenceEntry<K, V>> table = this.table;
2258 ReferenceEntry<K, V> first = table.get(index);
2324 V waitForLoadingValue(ReferenceEntry<K, V> e, K key, ValueReference<K, V> valueReference)
2396 V scheduleRefresh(ReferenceEntry<K, V> entry, K key, int hash, V oldValue, long now,
2438 ReferenceEntry<K, V> e = null;
2444 AtomicReferenceArray<ReferenceEntry<K, V>> table = this.table;
2446 ReferenceEntry<K, V> first = table.get(index);
2517 ReferenceEntry<K, V> entry = (ReferenceEntry<K, V>) ref;
2568 void recordRead(ReferenceEntry<K, V> entry, long now) {
2583 void recordLockedRead(ReferenceEntry<K, V> entry, long now) {
2595 void recordWrite(ReferenceEntry<K, V> entry, int weight, long now) {
2618 ReferenceEntry<K, V> e;
2650 ReferenceEntry<K, V> e;
2666 void enqueueNotification(ReferenceEntry<K, V> entry, RemovalCause cause) {
2696 ReferenceEntry<K, V> e = getNextEvictable();
2704 ReferenceEntry<K, V> getNextEvictable() {
2705 for (ReferenceEntry<K, V> e : accessQueue) {
2717 ReferenceEntry<K, V> getFirst(int hash) {
2719 AtomicReferenceArray<ReferenceEntry<K, V>> table = this.table;
2726 ReferenceEntry<K, V> getEntry(Object key, int hash) {
2727 for (ReferenceEntry<K, V> e = getFirst(hash); e != null; e = e.getNext()) {
2747 ReferenceEntry<K, V> getLiveEntry(Object key, int hash, long now) {
2748 ReferenceEntry<K, V> e = getEntry(key, hash);
2762 V getLiveValue(ReferenceEntry<K, V> entry, long now) {
2785 ReferenceEntry<K, V> e = getLiveEntry(key, hash, now);
2807 ReferenceEntry<K, V> e = getLiveEntry(key, hash, now);
2829 AtomicReferenceArray<ReferenceEntry<K, V>> table = this.table;
2832 for (ReferenceEntry<K, V> e = table.get(i); e != null; e = e.getNext()) {
2863 AtomicReferenceArray<ReferenceEntry<K, V>> table = this.table;
2865 ReferenceEntry<K, V> first = table.get(index);
2868 for (ReferenceEntry<K, V> e = first; e != null; e = e.getNext()) {
2909 ReferenceEntry<K, V> newEntry = newEntry(key, hash, first);
2927 AtomicReferenceArray<ReferenceEntry<K, V>> oldTable = table;
2944 AtomicReferenceArray<ReferenceEntry<K, V>> newTable = newEntryArray(oldCapacity << 1);
2950 ReferenceEntry<K, V> head = oldTable.get(oldIndex);
2953 ReferenceEntry<K, V> next = head.getNext();
2963 ReferenceEntry<K, V> tail = head;
2965 for (ReferenceEntry<K, V> e = next; e != null; e = e.getNext()) {
2976 for (ReferenceEntry<K, V> e = head; e != tail; e = e.getNext()) {
2982 ReferenceEntry<K, V> newNext = newTable.get(newIndex);
2983 ReferenceEntry<K, V> newFirst = copyEntry(e, newNext);
3000 AtomicReferenceArray<ReferenceEntry<K, V>> table = this.table;
3002 ReferenceEntry<K, V> first = table.get(index);
3004 for (ReferenceEntry<K, V> e = first; e != null; e = e.getNext()) {
3015 ReferenceEntry<K, V> newFirst = removeValueFromChain(
3053 AtomicReferenceArray<ReferenceEntry<K, V>> table = this.table;
3055 ReferenceEntry<K, V> first = table.get(index);
3057 for (ReferenceEntry<K, V> e = first; e != null; e = e.getNext()) {
3068 ReferenceEntry<K, V> newFirst = removeValueFromChain(
3100 AtomicReferenceArray<ReferenceEntry<K, V>> table = this.table;
3102 ReferenceEntry<K, V> first = table.get(index);
3104 for (ReferenceEntry<K, V> e = first; e != null; e = e.getNext()) {
3122 ReferenceEntry<K, V> newFirst = removeValueFromChain(
3146 AtomicReferenceArray<ReferenceEntry<K, V>> table = this.table;
3148 ReferenceEntry<K, V> first = table.get(index);
3150 for (ReferenceEntry<K, V> e = first; e != null; e = e.getNext()) {
3178 ReferenceEntry<K, V> newEntry = newEntry(key, hash, first);
3197 AtomicReferenceArray<ReferenceEntry<K, V>> table = this.table;
3199 ReferenceEntry<K, V> first = table.get(index);
3201 for (ReferenceEntry<K, V> e = first; e != null; e = e.getNext()) {
3219 ReferenceEntry<K, V> newFirst = removeValueFromChain(
3239 AtomicReferenceArray<ReferenceEntry<K, V>> table = this.table;
3241 for (ReferenceEntry<K, V> e = table.get(i); e != null; e = e.getNext()) {
3267 ReferenceEntry<K, V> removeValueFromChain(ReferenceEntry<K, V> first,
3268 ReferenceEntry<K, V> entry, @Nullable K key, int hash, ValueReference<K, V> valueReference,
3284 ReferenceEntry<K, V> removeEntryFromChain(ReferenceEntry<K, V> first,
3285 ReferenceEntry<K, V> entry) {
3287 ReferenceEntry<K, V> newFirst = entry.getNext();
3288 for (ReferenceEntry<K, V> e = first; e != entry; e = e.getNext()) {
3301 void removeCollectedEntry(ReferenceEntry<K, V> entry) {
3310 boolean reclaimKey(ReferenceEntry<K, V> entry, int hash) {
3314 AtomicReferenceArray<ReferenceEntry<K, V>> table = this.table;
3316 ReferenceEntry<K, V> first = table.get(index);
3318 for (ReferenceEntry<K, V> e = first; e != null; e = e.getNext()) {
3321 ReferenceEntry<K, V> newFirst = removeValueFromChain(
3344 AtomicReferenceArray<ReferenceEntry<K, V>> table = this.table;
3346 ReferenceEntry<K, V> first = table.get(index);
3348 for (ReferenceEntry<K, V> e = first; e != null; e = e.getNext()) {
3355 ReferenceEntry<K, V> newFirst = removeValueFromChain(
3378 AtomicReferenceArray<ReferenceEntry<K, V>> table = this.table;
3380 ReferenceEntry<K, V> first = table.get(index);
3382 for (ReferenceEntry<K, V> e = first; e != null; e = e.getNext()) {
3391 ReferenceEntry<K, V> newFirst = removeEntryFromChain(first, e);
3408 boolean removeEntry(ReferenceEntry<K, V> entry, int hash, RemovalCause cause) {
3410 AtomicReferenceArray<ReferenceEntry<K, V>> table = this.table;
3412 ReferenceEntry<K, V> first = table.get(index);
3414 for (ReferenceEntry<K, V> e = first; e != null; e = e.getNext()) {
3417 ReferenceEntry<K, V> newFirst = removeValueFromChain(
3433 boolean isCollected(ReferenceEntry<K, V> entry) {
3599 public ReferenceEntry<K, V> getEntry() {
3604 public ValueReference<K, V> copyFor(ReferenceQueue<V> queue, ReferenceEntry<K, V> entry) {
3613 * ReferenceEntry}, upon which it relies to perform its linking.
3622 static final class WriteQueue<K, V> extends AbstractQueue<ReferenceEntry<K, V>> {
3623 final ReferenceEntry<K, V> head = new AbstractReferenceEntry<K, V>() {
3633 ReferenceEntry<K, V> nextWrite = this;
3636 public ReferenceEntry<K, V> getNextInWriteQueue() {
3641 public void setNextInWriteQueue(ReferenceEntry<K, V> next) {
3645 ReferenceEntry<K, V> previousWrite = this;
3648 public ReferenceEntry<K, V> getPreviousInWriteQueue() {
3653 public void setPreviousInWriteQueue(ReferenceEntry<K, V> previous) {
3661 public boolean offer(ReferenceEntry<K, V> entry) {
3673 public ReferenceEntry<K, V> peek() {
3674 ReferenceEntry<K, V> next = head.getNextInWriteQueue();
3679 public ReferenceEntry<K, V> poll() {
3680 ReferenceEntry<K, V> next = head.getNextInWriteQueue();
3692 ReferenceEntry<K, V> e = (ReferenceEntry) o;
3693 ReferenceEntry<K, V> previous = e.getPreviousInWriteQueue();
3694 ReferenceEntry<K, V> next = e.getNextInWriteQueue();
3704 ReferenceEntry<K, V> e = (ReferenceEntry) o;
3716 for (ReferenceEntry<K, V> e = head.getNextInWriteQueue(); e != head;
3725 ReferenceEntry<K, V> e = head.getNextInWriteQueue();
3727 ReferenceEntry<K, V> next = e.getNextInWriteQueue();
3737 public Iterator<ReferenceEntry<K, V>> iterator() {
3738 return new AbstractLinkedIterator<ReferenceEntry<K, V>>(peek()) {
3740 protected ReferenceEntry<K, V> computeNext(ReferenceEntry<K, V> previous) {
3741 ReferenceEntry<K, V> next = previous.getNextInWriteQueue();
3750 * {@code ReferenceEntry}, upon which it reliese to perform its linking.
3759 static final class AccessQueue<K, V> extends AbstractQueue<ReferenceEntry<K, V>> {
3760 final ReferenceEntry<K, V> head = new AbstractReferenceEntry<K, V>() {
3770 ReferenceEntry<K, V> nextAccess = this;
3773 public ReferenceEntry<K, V> getNextInAccessQueue() {
3778 public void setNextInAccessQueue(ReferenceEntry<K, V> next) {
3782 ReferenceEntry<K, V> previousAccess = this;
3785 public ReferenceEntry<K, V> getPreviousInAccessQueue() {
3790 public void setPreviousInAccessQueue(ReferenceEntry<K, V> previous) {
3798 public boolean offer(ReferenceEntry<K, V> entry) {
3810 public ReferenceEntry<K, V> peek() {
3811 ReferenceEntry<K, V> next = head.getNextInAccessQueue();
3816 public ReferenceEntry<K, V> poll() {
3817 ReferenceEntry<K, V> next = head.getNextInAccessQueue();
3829 ReferenceEntry<K, V> e = (ReferenceEntry) o;
3830 ReferenceEntry<K, V> previous = e.getPreviousInAccessQueue();
3831 ReferenceEntry<K, V> next = e.getNextInAccessQueue();
3841 ReferenceEntry<K, V> e = (ReferenceEntry) o;
3853 for (ReferenceEntry<K, V> e = head.getNextInAccessQueue(); e != head;
3862 ReferenceEntry<K, V> e = head.getNextInAccessQueue();
3864 ReferenceEntry<K, V> next = e.getNextInAccessQueue();
3874 public Iterator<ReferenceEntry<K, V>> iterator() {
3875 return new AbstractLinkedIterator<ReferenceEntry<K, V>>(peek()) {
3877 protected ReferenceEntry<K, V> computeNext(ReferenceEntry<K, V> previous) {
3878 ReferenceEntry<K, V> next = previous.getNextInAccessQueue();
4100 ReferenceEntry<K, V> getEntry(@Nullable Object key) {
4112 ReferenceEntry<K, V> getLiveEntry(@Nullable Object key) {
4158 AtomicReferenceArray<ReferenceEntry<K, V>> table = segment.table;
4160 for (ReferenceEntry<K, V> e = table.get(j); e != null; e = e.getNext()) {
4285 AtomicReferenceArray<ReferenceEntry<K, V>> currentTable;
4286 ReferenceEntry<K, V> nextEntry;
4351 boolean advanceTo(ReferenceEntry<K, V> entry) {