37 P->Prev->Next =
P->Next;
39 P->Next->Prev =
P->Prev;
44 (
reinterpret_cast<DeadBlock *
>(
this + 1) - 1)->free();
50 To->Prev = From->Prev;
53 To->Next = From->Next;
64 : Root(Root), B(Blk->Desc, Blk->
IsStatic, Blk->IsExtern,
true) {
79void DeadBlock::free() {
A memory block, either on the stack or in the heap.
void movePointer(Pointer *From, Pointer *To)
void addPointer(Pointer *P)
void removePointer(Pointer *P)
bool IsStatic
Flag indicating if the block has static storage duration.
Pointer * Pointers
Start of the chain of pointers.
bool IsDead
Flag indicating if the pointer is dead.
Descriptor for a dead block.
DeadBlock(DeadBlock *&Root, Block *Blk)
Copies the block.
A pointer to a memory block, live or dead.