Lines Matching refs:last
117 Block* last = fBackBlock; in push_back() local
120 if (nullptr == last->fBegin) { in push_back()
122 last->fBegin = last->start(); in push_back()
123 end = last->fBegin + fElemSize; in push_back()
125 end = last->fEnd + fElemSize; in push_back()
126 if (end > last->fStop) { // no more room in this chunk in push_back()
128 last = this->allocateBlock(fAllocCount); in push_back()
129 last->fPrev = fBackBlock; in push_back()
130 fBackBlock->fNext = last; in push_back()
131 fBackBlock = last; in push_back()
136 last->fEnd = end; in push_back()
188 Block* last = fBackBlock; in pop_back() local
190 SkASSERT(last != nullptr); in pop_back()
192 if (last->fEnd == nullptr) { // we were marked empty from before in pop_back()
193 last = last->fPrev; in pop_back()
194 last->fNext = nullptr; in pop_back()
196 fBackBlock = last; in pop_back()
197 SkASSERT(last != nullptr); // else we popped too far in pop_back()
200 char* end = last->fEnd - fElemSize; in pop_back()
201 SkASSERT(end >= last->fBegin); in pop_back()
203 if (end > last->fBegin) { in pop_back()
204 last->fEnd = end; in pop_back()
205 SkASSERT(last->fEnd); in pop_back()
206 fBack = last->fEnd - fElemSize; in pop_back()
208 last->fBegin = last->fEnd = nullptr; // mark as empty in pop_back()
209 if (nullptr == last->fPrev) { in pop_back()
212 SkASSERT(last->fPrev->fEnd); in pop_back()
213 fBack = last->fPrev->fEnd - fElemSize; in pop_back()