void MemoryPointer_Print_Type_Name_Func_Helper( void *memoryPointer, void *args ) { MemoryPointer_Print_Type_Name_Func_Helper_Arg *arguments; MemoryPointer *memPtr; MemoryField* typeField; MemoryField* nameField; assert( memoryPointer ); assert( args ); memPtr = (MemoryPointer*) memoryPointer; arguments = (MemoryPointer_Print_Type_Name_Func_Helper_Arg*) args; typeField = MemoryField_Register( stgMemory->types, arguments->type ); nameField = MemoryField_Register( typeField, arguments->name ); if ( memPtr->type == typeField && memPtr->name == nameField ){ MemoryPointer_Print ( (MemoryPointer*) memoryPointer, arguments->printOptions ); } }
void MemoryPointer_Print_File_Func_Helper( void *memoryPointer, void *args ) { MemoryPointer_Print_File_Func_Helper_Arg *arguments; MemoryPointer *memPtr; MemoryField* fileField; MemoryField* funcField; assert( memoryPointer ); assert( args ); memPtr = (MemoryPointer*) memoryPointer; arguments = (MemoryPointer_Print_File_Func_Helper_Arg*) args; fileField = MemoryField_Register( stgMemory->types, arguments->fileName ); funcField = MemoryField_Register( fileField, arguments->funcName ); if ( memPtr->file == fileField && memPtr->func == funcField ){ MemoryPointer_Print ( (MemoryPointer*) memoryPointer, arguments->printOptions ); } }
void _Memory_Print_AllocsAboveThreshold_Helper( void* memoryPointer, void* args ) { MemoryPointer* memPtr; void** arguments; SizeT threshold; MemoryOpStamp begin; MemoryOpStamp end; assert( memoryPointer ); assert( args ); memPtr = (MemoryPointer*)memoryPointer; arguments = (void**)args; threshold = *((SizeT*)arguments[0]); begin = *((MemoryOpStamp*)arguments[1]); end = *((MemoryOpStamp*)arguments[2]); if ( memPtr->ptr != NULL && memPtr->status != MEMORY_POINTER_RELEASED ) { if ( memPtr->totalSize > threshold && memPtr->stamp >= begin && memPtr->stamp <= end ) { MemoryPointer_Print( memPtr, MEMORYPOINTER_NAME | MEMORYPOINTER_TOTALSIZE ); } } }