Lines Matching refs:prev
255 if (head.Data()->prev != my_head.value() && // Normal path. in Insert()
256 head.Data()->prev != node->address().value()) { // FinishInsert(). in Insert()
261 head.Data()->prev = node->address().value(); in Insert()
268 node->Data()->prev = node->address().value(); in Insert()
317 node->Data()->next, node->Data()->prev, list); in Remove()
323 Addr prev_addr(node->Data()->prev); in Remove()
334 CacheRankingsBlock prev(backend_->File(prev_addr), prev_addr); in Remove() local
335 if (!GetRanking(&next) || !GetRanking(&prev)) { in Remove()
340 if (!CheckLinks(node, &prev, &next, &list)) in Remove()
344 prev.Data()->next = next.address().value(); in Remove()
345 next.Data()->prev = prev.address().value(); in Remove()
362 next.Data()->prev = next.address().value(); in Remove()
367 my_tail.set_value(prev.address().value()); in Remove()
368 prev.Data()->next = prev.address().value(); in Remove()
374 prev.Store(); in Remove()
381 node->Data()->prev = 0; in Remove()
387 prev.Store(); in Remove()
392 UpdateIterators(&prev); in Remove()
448 ScopedRankingsBlock prev(this); in GetPrev() local
453 prev.reset(new CacheRankingsBlock(backend_->File(my_tail), my_tail)); in GetPrev()
462 Addr address(node->Data()->prev); in GetPrev()
465 prev.reset(new CacheRankingsBlock(backend_->File(address), address)); in GetPrev()
468 TrackRankingsBlock(prev.get(), true); in GetPrev()
470 if (!GetRanking(prev.get())) in GetPrev()
473 ConvertToLongLived(prev.get()); in GetPrev()
474 if (node && !CheckSingleLink(prev.get(), node)) in GetPrev()
477 return prev.release(); in GetPrev()
517 if ((!data->next && data->prev) || (data->next && !data->prev)) in SanityCheck()
521 if (!data->next && !data->prev && from_list) in SanityCheck()
525 if ((node->address().value() == data->prev) && !IsHead(data->prev, &list)) in SanityCheck()
531 if (!data->next && !data->prev) in SanityCheck()
535 Addr prev_addr(data->prev); in SanityCheck()
686 Addr prev_addr(node->Data()->prev); in RevertRemove()
700 CacheRankingsBlock prev(backend_->File(prev_addr), prev_addr); in RevertRemove() local
701 if (!next.Load() || !prev.Load()) in RevertRemove()
705 DCHECK(prev.Data()->next == node_value || in RevertRemove()
706 prev.Data()->next == prev_addr.value() || in RevertRemove()
707 prev.Data()->next == next.address().value()); in RevertRemove()
708 DCHECK(next.Data()->prev == node_value || in RevertRemove()
709 next.Data()->prev == next_addr.value() || in RevertRemove()
710 next.Data()->prev == prev.address().value()); in RevertRemove()
713 prev.Data()->next = node_value; in RevertRemove()
715 next.Data()->prev = node_value; in RevertRemove()
727 prev.Data()->next = next.address().value(); in RevertRemove()
729 } else if (my_tail.value() == prev.address().value()) { in RevertRemove()
731 next.Data()->prev = prev.address().value(); in RevertRemove()
736 prev.Store(); in RevertRemove()
742 bool Rankings::CheckLinks(CacheRankingsBlock* node, CacheRankingsBlock* prev, in CheckLinks() argument
745 if (prev->Data()->next == node_addr && in CheckLinks()
746 next->Data()->prev == node_addr) { in CheckLinks()
752 prev->Data()->next, next->Data()->prev); in CheckLinks()
754 if (node_addr != prev->address().value() && in CheckLinks()
756 prev->Data()->next == next->address().value() && in CheckLinks()
757 next->Data()->prev == prev->address().value()) { in CheckLinks()
761 node->Data()->prev = 0; in CheckLinks()
766 if (prev->Data()->next == node_addr || in CheckLinks()
767 next->Data()->prev == node_addr) { in CheckLinks()
769 if (prev->Data()->next != node_addr && IsHead(node_addr, list)) in CheckLinks()
772 if (next->Data()->prev != node_addr && IsTail(node_addr, list)) in CheckLinks()
783 bool Rankings::CheckSingleLink(CacheRankingsBlock* prev, in CheckSingleLink() argument
785 if (prev->Data()->next != next->address().value() || in CheckSingleLink()
786 next->Data()->prev != prev->address().value()) { in CheckSingleLink()
829 CacheAddr next = forward ? node->Data()->next : node->Data()->prev; in CheckListSection()
830 CacheAddr prev = forward ? node->Data()->prev : node->Data()->next; in CheckListSection() local
832 if (prev != prev_addr.value()) in CheckListSection()