Lines Matching refs:FreeChunk

33 class FreeChunk {
35 void SetTo(size_t size, FreeChunk* next);
40 FreeChunk* Next() const { return fNext; }
41 void SetNext(FreeChunk* next) { fNext = next; }
43 FreeChunk* Split(uint32 splitSize);
44 bool IsTouching(FreeChunk* link);
45 FreeChunk* Join(FreeChunk* link);
47 FreeChunk* previous = NULL);
51 static FreeChunk* SetToAllocated(void* allocated);
56 FreeChunk* fNext;
65 FreeChunk free_anchor;
83 FreeChunk::SetTo(size_t size, FreeChunk* next)
94 FreeChunk::Size() const
96 return fSize - FreeChunk::NextOffset();
103 FreeChunk*
104 FreeChunk::Split(uint32 splitSize)
108 FreeChunk* chunk
109 = (FreeChunk*)((uint8*)this + FreeChunk::NextOffset() + splitSize);
110 chunk->fSize = fSize - splitSize - FreeChunk::NextOffset();
113 fSize = splitSize + FreeChunk::NextOffset();
123 FreeChunk::IsTouching(FreeChunk* chunk)
135 doesn't work correctly. Use FreeChunk::IsTouching()
138 FreeChunk*
139 FreeChunk::Join(FreeChunk* chunk)
156 FreeChunk::Remove(rtm_pool* pool, FreeChunk* previous)
160 FreeChunk* chunk = pool->free_anchor.fNext;
177 FreeChunk::Enqueue(rtm_pool* pool)
179 FreeChunk* chunk = pool->free_anchor.fNext;
180 FreeChunk* last = &pool->free_anchor;
192 FreeChunk::AllocatedAddress() const
198 FreeChunk*
199 FreeChunk::SetToAllocated(void* allocated)
201 return (FreeChunk*)((addr_t)allocated - FreeChunk::NextOffset());
219 FreeChunk* freedChunk = FreeChunk::SetToAllocated(allocated);
225 FreeChunk* chunk = free_anchor.Next();
226 FreeChunk* last = &free_anchor;
289 pool->max_size = (totalSize + sizeof(FreeChunk) - 1 + B_PAGE_SIZE)
301 pool->available = pool->max_size - FreeChunk::NextOffset();
306 FreeChunk* chunk = (FreeChunk*)pool->heap_base;
359 FreeChunk* chunk = pool->free_anchor.Next();
360 FreeChunk* last = &pool->free_anchor;
372 if (chunk->Size() > size + sizeof(FreeChunk) + kAlignment) {
377 FreeChunk* freeChunk = chunk->Split(size);
449 FreeChunk* oldChunk = FreeChunk::SetToAllocated(oldBuffer);
483 FreeChunk* chunk = FreeChunk::SetToAllocated(buffer);
496 FreeChunk* chunk = FreeChunk::SetToAllocated(buffer);