Lines Matching refs:Chunk
21 if (Chunk && Chunk->Next) in clear()
22 free(Chunk->Next); in clear()
23 if (Chunk) in clear()
24 free(Chunk); in clear()
25 Chunk = nullptr; in clear()
32 if (!Chunk || sizeof(StackChunk) + Chunk->size() + Size > ChunkSize) { in grow()
33 if (Chunk && Chunk->Next) { in grow()
34 Chunk = Chunk->Next; in grow()
36 StackChunk *Next = new (malloc(ChunkSize)) StackChunk(Chunk); in grow()
37 if (Chunk) in grow()
38 Chunk->Next = Next; in grow()
39 Chunk = Next; in grow()
43 auto *Object = reinterpret_cast<void *>(Chunk->End); in grow()
44 Chunk->End += Size; in grow()
50 assert(Chunk && "Stack is empty!"); in peek()
52 StackChunk *Ptr = Chunk; in peek()
63 assert(Chunk && "Chunk is empty!"); in shrink()
65 while (Size > Chunk->size()) { in shrink()
66 Size -= Chunk->size(); in shrink()
67 if (Chunk->Next) { in shrink()
68 free(Chunk->Next); in shrink()
69 Chunk->Next = nullptr; in shrink()
71 Chunk->End = Chunk->start(); in shrink()
72 Chunk = Chunk->Prev; in shrink()
73 assert(Chunk && "Offset too large"); in shrink()
76 Chunk->End -= Size; in shrink()