diff --git a/source/common/objects/dobject.cpp b/source/common/objects/dobject.cpp index ba4f0a0f1a..e40c468d71 100644 --- a/source/common/objects/dobject.cpp +++ b/source/common/objects/dobject.cpp @@ -356,9 +356,12 @@ static void PropagateMarkMap(M *map) size_t DObject::PropagateMark() { + const PClass *info = GetClass(); if (!PClass::bShutdown) { + Printf("propagateMark for %p\n", this); + Printf("---> %s\n", GetClass()->TypeName.GetChars()); const size_t *offsets = info->FlatPointers; if (offsets == NULL) { @@ -367,6 +370,8 @@ size_t DObject::PropagateMark() } while (*offsets != ~(size_t)0) { + Printf("marking offset %d\n", int(*offsets)); + Printmark((*(DObject**)((uint8_t*)this + *offsets))); GC::Mark((DObject **)((uint8_t *)this + *offsets)); offsets++; }