Home | History | Annotate | Download | only in allocator

Lines Matching refs:tail

137   // We use the tail (kUseTail == true) for the bulk or thread-local free lists to avoid the need to
138 // traverse the list from the head to the tail when merging free lists.
139 // We don't use the tail (kUseTail == false) for the free list to avoid the need to manage the
140 // tail in the allocation fast path for a performance reason.
148 Slot* Tail() const {
242 *tailp = list->Tail();
249 DCHECK(list->Tail() != nullptr);
250 list->Tail()->SetNext(old_head);
270 Slot* tail = kUseTail ? reinterpret_cast<Slot*>(tail_) : nullptr;
274 CHECK(tail == nullptr);
279 CHECK(tail != nullptr);
285 CHECK_EQ(slot, tail);
299 // A pointer (Slot*) to the tail of the list. Always 8 bytes so that we will have the same
300 // layout between 32 bit and 64 bit. The tail is stored to speed up merging of lists.
357 // Use a tailless free list for free_list_ so that the alloc fast path does not manage the tail.