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