Lines Matching refs:Chunk
23 if (Chunk && Chunk->Next) in ~InterpStack()
24 std::free(Chunk->Next); in ~InterpStack()
25 if (Chunk) in ~InterpStack()
26 std::free(Chunk); in ~InterpStack()
27 Chunk = nullptr; in ~InterpStack()
36 if (!Chunk) in clear()
39 if (Chunk->Next) in clear()
40 std::free(Chunk->Next); in clear()
42 assert(Chunk); in clear()
62 if (!Chunk || sizeof(StackChunk) + Chunk->size() + Size > ChunkSize) { in grow()
63 if (Chunk && Chunk->Next) { in grow()
64 Chunk = Chunk->Next; in grow()
66 StackChunk *Next = new (std::malloc(ChunkSize)) StackChunk(Chunk); in grow()
67 if (Chunk) in grow()
68 Chunk->Next = Next; in grow()
69 Chunk = Next; in grow()
73 auto *Object = reinterpret_cast<void *>(Chunk->End); in grow()
74 Chunk->End += Size; in grow()
80 assert(Chunk && "Stack is empty!"); in peekData()
82 StackChunk *Ptr = Chunk; in peekData()
93 assert(Chunk && "Chunk is empty!"); in shrink()
95 while (Size > Chunk->size()) { in shrink()
96 Size -= Chunk->size(); in shrink()
97 if (Chunk->Next) { in shrink()
98 std::free(Chunk->Next); in shrink()
99 Chunk->Next = nullptr; in shrink()
101 Chunk->End = Chunk->start(); in shrink()
102 Chunk = Chunk->Prev; in shrink()
103 assert(Chunk && "Offset too large"); in shrink()
106 Chunk->End -= Size; in shrink()