reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

tools/clang/lib/AST/Interp/InterpStack.cpp
   21   if (Chunk && Chunk->Next)
   21   if (Chunk && Chunk->Next)
   22     free(Chunk->Next);
   23   if (Chunk)
   24     free(Chunk);
   25   Chunk = nullptr;
   32   if (!Chunk || sizeof(StackChunk) + Chunk->size() + Size > ChunkSize) {
   32   if (!Chunk || sizeof(StackChunk) + Chunk->size() + Size > ChunkSize) {
   33     if (Chunk && Chunk->Next) {
   33     if (Chunk && Chunk->Next) {
   34       Chunk = Chunk->Next;
   34       Chunk = Chunk->Next;
   36       StackChunk *Next = new (malloc(ChunkSize)) StackChunk(Chunk);
   37       if (Chunk)
   38         Chunk->Next = Next;
   39       Chunk = Next;
   43   auto *Object = reinterpret_cast<void *>(Chunk->End);
   44   Chunk->End += Size;
   50   assert(Chunk && "Stack is empty!");
   52   StackChunk *Ptr = Chunk;
   63   assert(Chunk && "Chunk is empty!");
   65   while (Size > Chunk->size()) {
   66     Size -= Chunk->size();
   67     if (Chunk->Next) {
   68       free(Chunk->Next);
   69       Chunk->Next = nullptr;
   71     Chunk->End = Chunk->start();
   71     Chunk->End = Chunk->start();
   72     Chunk = Chunk->Prev;
   72     Chunk = Chunk->Prev;
   73     assert(Chunk && "Offset too large");
   76   Chunk->End -= Size;
tools/clang/lib/AST/Interp/InterpStack.h
   56   void *top() { return Chunk ? peek(0) : nullptr; }