Home | History | Annotate | Download | only in libgralloc

Lines Matching full:size

30 SimpleBestFitAllocator::SimpleBestFitAllocator(size_t size)
33 setSize(size);
43 ssize_t SimpleBestFitAllocator::setSize(size_t size)
48 mHeapSize = ((size + pagesize-1) & ~(pagesize-1));
51 return size;
55 size_t SimpleBestFitAllocator::size() const
60 ssize_t SimpleBestFitAllocator::allocate(size_t size, uint32_t flags)
64 ssize_t offset = alloc(size, flags);
79 ssize_t SimpleBestFitAllocator::alloc(size_t size, uint32_t flags)
81 if (size == 0) {
84 size = (size + kMemoryAlign-1) / kMemoryAlign;
93 if (cur->free && (cur->size >= (size+extra))) {
94 if ((!free_chunk) || (cur->size < free_chunk->size)) {
97 if (cur->size == size) {
105 const size_t free_size = free_chunk->size;
107 free_chunk->size = size;
108 if (free_size > size) {
119 const ssize_t tail_free = free_size - (size+extra);
122 free_chunk->start + free_chunk->size, tail_free);
138 "block at offset 0x%08lX of size 0x%08lX already freed",
139 cur->start*kMemoryAlign, cur->size*kMemoryAlign);
147 if (p && (p->free || !cur->size)) {
149 p->size += cur->size;
157 "freed block at offset 0x%08lX of size 0x%08lX is not free!",
158 freed->start * kMemoryAlign, freed->size * kMemoryAlign);