405
406
for c.calculateNewCacheSize(newEntrySize, existingEntrySize) > c.maxSize && element != nil {
407
>
entry := element.Value.(*entryImpl)
lru.go
408
>
if existingEntry != nil && entry.key == existingEntry.key {
409
element = element.Prev()
410
continue
411
}
412
>
element = c.tryEvictAndGetPreviousElement(entry, element)
lru.go
413
}
414
}
415
416
>
func (c *lru) tryEvictAndGetPreviousElement(entry *entryImpl, element *list.Element) *list.Element {
lru.go
417
>
if entry.refCount == 0 {
418
elementPrev := element.Prev()
419
// currSize will be updated within deleteInternal