Home | History | Annotate | Download | only in core

Lines Matching refs:block

20 struct SkChunkAlloc::Block {
21 Block* fNext;
31 Block* block = this;
32 while (block) {
33 Block* next = block->fNext;
34 sk_free(block);
35 block = next;
39 Block* tail() {
40 Block* block = this;
41 if (block) {
43 Block* next = block->fNext;
47 block = next;
50 return block;
80 SkChunkAlloc::Block* SkChunkAlloc::newBlock(size_t bytes, AllocFailType ftype) {
81 Block* block = fPool;
83 if (block && bytes <= block->fFreeSize) {
84 fPool = block->fNext;
85 return block;
90 block = (Block*)sk_malloc_flags(sizeof(Block) + size,
93 if (block) {
94 // block->fNext = fBlock;
95 block->fFreeSize = size;
96 block->fFreePtr = block->startOfData();
100 return block;
106 Block* block = fBlock;
108 if (block == NULL || bytes > block->fFreeSize) {
109 block = this->newBlock(bytes, ftype);
110 if (NULL == block) {
113 block->fNext = fBlock;
114 fBlock = block;
117 SkASSERT(block && bytes <= block->fFreeSize);
118 void* ptr = block->fFreePtr;
120 block->fFreeSize -= bytes;
121 block->fFreePtr += bytes;
127 Block* block = fBlock;
128 if (block) {
130 char* start = block->startOfData();
131 if (start <= cPtr && cPtr < block->fFreePtr) {
132 bytes = block->fFreePtr - cPtr;
133 block->fFreeSize += bytes;
134 block->fFreePtr = cPtr;