Lines Matching refs:next
267 node->Data()->next = my_head.value();
273 node->Data()->next = my_tail.value();
291 // y, prev is x and next is z):
296 // 4. r(0, 0), head(0), tail(0) next.Store()
300 // 2. a(x, r), r(a, b), b(a, y), head(x), tail(y) next.Store()
307 // 3. r(r, b), b(b, y), head(b), tail(y) next.Store()
314 // 4. a(x, a), r(0, 0), head(x), tail(a) next.Store()
317 node->Data()->next, node->Data()->prev, list);
322 Addr next_addr(node->Data()->next);
333 CacheRankingsBlock next(backend_->File(next_addr), next_addr);
335 if (!GetRanking(&next) || !GetRanking(&prev)) {
340 if (!CheckLinks(node, &prev, &next, &list))
344 prev.Data()->next = next.address().value();
345 next.Data()->prev = prev.address().value();
361 my_head.set_value(next.address().value());
362 next.Data()->prev = next.address().value();
368 prev.Data()->next = prev.address().value();
380 node->Data()->next = 0;
385 next.Store();
391 UpdateIterators(&next);
415 ScopedRankingsBlock next(this);
420 next.reset(new CacheRankingsBlock(backend_->File(my_head), my_head));
429 Addr address(node->Data()->next);
432 next.reset(new CacheRankingsBlock(backend_->File(address), address));
435 TrackRankingsBlock(next.get(), true);
437 if (!GetRanking(next.get()))
440 ConvertToLongLived(next.get());
441 if (node && !CheckSingleLink(node, next.get()))
444 return next.release();
517 if ((!data->next && data->prev) || (data->next && !data->prev))
521 if (!data->next && !data->prev && from_list)
528 if ((node->address().value() == data->next) && !IsTail(data->next, &list))
531 if (!data->next && !data->prev)
534 Addr next_addr(data->next);
674 node->Data()->next = my_tail.value();
685 Addr next_addr(node->Data()->next);
699 CacheRankingsBlock next(backend_->File(next_addr), next_addr);
701 if (!next.Load() || !prev.Load())
705 DCHECK(prev.Data()->next == node_value ||
706 prev.Data()->next == prev_addr.value() ||
707 prev.Data()->next == next.address().value());
708 DCHECK(next.Data()->prev == node_value ||
709 next.Data()->prev == next_addr.value() ||
710 next.Data()->prev == prev.address().value());
713 prev.Data()->next = node_value;
715 next.Data()->prev = node_value;
725 } else if (my_head.value() == next.address().value()) {
727 prev.Data()->next = next.address().value();
731 next.Data()->prev = prev.address().value();
735 next.Store();
743 CacheRankingsBlock* next, List* list) {
745 if (prev->Data()->next == node_addr &&
746 next->Data()->prev == node_addr) {
752 prev->Data()->next, next->Data()->prev);
755 node_addr != next->address().value() &&
756 prev->Data()->next == next->address().value() &&
757 next->Data()->prev == prev->address().value()) {
760 node->Data()->next = 0;
766 if (prev->Data()->next == node_addr ||
767 next->Data()->prev == node_addr) {
769 if (prev->Data()->next != node_addr && IsHead(node_addr, list))
772 if (next->Data()->prev != node_addr && IsTail(node_addr, list))
784 CacheRankingsBlock* next) {
785 if (prev->Data()->next != next->address().value() ||
786 next->Data()->prev != prev->address().value()) {
829 CacheAddr next = forward ? node->Data()->next : node->Data()->prev;
830 CacheAddr prev = forward ? node->Data()->prev : node->Data()->next;
835 Addr next_addr(next);