@Override public void lruPoll(int size) { if (lru == null) return; int left = size; while (left > 0) { // Pre-poll outside of lock. long qAddr = lru.prePoll(); if (qAddr == 0) return; // LRU is empty. short order = lru.order(qAddr); int released = freeSpace(order, qAddr); if (released == 0) return; left -= released; } } };
@Override public void lruPoll(int size) { if (lru == null) return; int left = size; while (left > 0) { // Pre-poll outside of lock. long qAddr = lru.prePoll(); if (qAddr == 0) return; // LRU is empty. short order = lru.order(qAddr); int part = lru.partition(order, qAddr); int released = partMap[part].freeSpace(order, qAddr); if (released == 0) return; left -= released; } } }
@Override public void lruPoll(int size) { if (lru == null) return; int left = size; while (left > 0) { // Pre-poll outside of lock. long qAddr = lru.prePoll(); if (qAddr == 0) return; // LRU is empty. short order = lru.order(qAddr); int released = freeSpace(order, qAddr); if (released == 0) return; left -= released; } } };
@Override public void lruPoll(int size) { if (lru == null) return; int left = size; while (left > 0) { // Pre-poll outside of lock. long qAddr = lru.prePoll(); if (qAddr == 0) return; // LRU is empty. short order = lru.order(qAddr); int part = lru.partition(order, qAddr); int released = partMap[part].freeSpace(order, qAddr); if (released == 0) return; left -= released; } } }