Home | History | Annotate | Download | only in core

Lines Matching refs:Block

20 struct SkChunkAlloc::Block {
21 Block* fNext;
42 static void FreeChain(Block* block) {
43 while (block) {
44 Block* next = block->fNext;
45 sk_free(block);
46 block = next;
77 Block::FreeChain(fBlock);
89 Block* largest = fBlock;
92 Block* next;
93 for (Block* cur = largest->fNext; cur; cur = next) {
118 SkChunkAlloc::Block* SkChunkAlloc::newBlock(size_t bytes, AllocFailType ftype) {
124 Block* block = (Block*)sk_malloc_flags(sizeof(Block) + size,
127 if (block) {
128 block->fFreeSize = size;
129 block->fFreePtr = block->startOfData();
136 return block;
139 SkChunkAlloc::Block* SkChunkAlloc::addBlockIfNecessary(size_t bytes, AllocFailType ftype) {
143 Block* block = this->newBlock(bytes, ftype);
144 if (!block) {
152 block->fNext = fBlock;
153 fBlock = block;
165 Block* block = this->addBlockIfNecessary(bytes, ftype);
166 if (!block) {
170 char* ptr = block->fFreePtr;
173 block->fFreeSize -= bytes;
174 block->fFreePtr = ptr + bytes;
183 Block* block = fBlock;
184 if (block) {
186 char* start = block->startOfData();
187 if (start <= cPtr && cPtr < block->fFreePtr) {
188 bytes = block->fFreePtr - cPtr;
190 block->fFreeSize += bytes;
191 block->fFreePtr = cPtr;
199 const Block* block = fBlock;
200 while (block) {
201 if (block->contains(addr)) {
204 block = block->fNext;
217 for (Block* temp = fBlock; temp; temp = temp->fNext) {