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 );
	}
}
Ejemplo n.º 3
0
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 );
		}
	}
}