Lines Matching refs:last
118 Block* last = fBackBlock; in push_back() local
121 if (NULL == last->fBegin) { in push_back()
123 last->fBegin = last->start(); in push_back()
124 end = last->fBegin + fElemSize; in push_back()
126 end = last->fEnd + fElemSize; in push_back()
127 if (end > last->fStop) { // no more room in this chunk in push_back()
129 last = this->allocateBlock(fAllocCount); in push_back()
130 last->fPrev = fBackBlock; in push_back()
131 fBackBlock->fNext = last; in push_back()
132 fBackBlock = last; in push_back()
137 last->fEnd = end; in push_back()
189 Block* last = fBackBlock; in pop_back() local
191 SkASSERT(last != NULL); in pop_back()
193 if (last->fEnd == NULL) { // we were marked empty from before in pop_back()
194 last = last->fPrev; in pop_back()
195 last->fNext = NULL; in pop_back()
197 fBackBlock = last; in pop_back()
198 SkASSERT(last != NULL); // else we popped too far in pop_back()
201 char* end = last->fEnd - fElemSize; in pop_back()
202 SkASSERT(end >= last->fBegin); in pop_back()
204 if (end > last->fBegin) { in pop_back()
205 last->fEnd = end; in pop_back()
206 SkASSERT(last->fEnd); in pop_back()
207 fBack = last->fEnd - fElemSize; in pop_back()
209 last->fBegin = last->fEnd = NULL; // mark as empty in pop_back()
210 if (NULL == last->fPrev) { in pop_back()
213 SkASSERT(last->fPrev->fEnd); in pop_back()
214 fBack = last->fPrev->fEnd - fElemSize; in pop_back()