X-Git-Url: http://git.xonotic.org/?p=xonotic%2Fdarkplaces.git;a=blobdiff_plain;f=zone.h;h=a78372267114d9a61836774fd566914b674c3d6e;hp=6caa039087b83085bd86f53fc5e5429ad551d76b;hb=8507719df58bf767983c92ecfa32a70090bf501e;hpb=775c4993063d7673903a2dfaebeacd1a9c71cbf7 diff --git a/zone.h b/zone.h index 6caa0390..a7837226 100644 --- a/zone.h +++ b/zone.h @@ -21,7 +21,11 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #ifndef ZONE_H #define ZONE_H -extern qboolean mem_bigendian; +#include +#include "qtypes.h" +#include "qdefs.h" + +extern qbool mem_bigendian; // div0: heap overflow detection paranoia #define MEMPARANOIA 0 @@ -83,7 +87,11 @@ mempool_t; #define Mem_Realloc(pool,data,size) _Mem_Alloc(pool, data, size, 16, __FILE__, __LINE__) #define Mem_Free(mem) _Mem_Free(mem, __FILE__, __LINE__) #define Mem_CheckSentinels(data) _Mem_CheckSentinels(data, __FILE__, __LINE__) -#define Mem_CheckSentinelsGlobal() _Mem_CheckSentinelsGlobal(__FILE__, __LINE__) +#if MEMPARANOIA +#define Mem_CheckSentinelsGlobal() _Mem_CheckSentinelsGlobal(__FILE__, __LINE__) +#else +#define Mem_CheckSentinelsGlobal() if(developer_memorydebug.integer) { _Mem_CheckSentinelsGlobal(__FILE__, __LINE__); } +#endif #define Mem_AllocPool(name, flags, parent) _Mem_AllocPool(name, flags, parent, __FILE__, __LINE__) #define Mem_FreePool(pool) _Mem_FreePool(pool, __FILE__, __LINE__) #define Mem_EmptyPool(pool) _Mem_EmptyPool(pool, __FILE__, __LINE__) @@ -96,7 +104,7 @@ void _Mem_EmptyPool(mempool_t *pool, const char *filename, int fileline); void _Mem_CheckSentinels(void *data, const char *filename, int fileline); void _Mem_CheckSentinelsGlobal(const char *filename, int fileline); // if pool is NULL this searches ALL pools for the allocation -qboolean Mem_IsAllocated(mempool_t *pool, void *data); +qbool Mem_IsAllocated(mempool_t *pool, void *data); char* Mem_strdup (mempool_t *pool, const char* s); @@ -134,11 +142,14 @@ void Memory_Shutdown (void); void Memory_Init_Commands (void); extern mempool_t *zonemempool; -#define Z_Malloc(size) Mem_Alloc(zonemempool,size) +#define Z_Malloc(size) Mem_Alloc(zonemempool, size) +#define Z_Realloc(data, size) Mem_Realloc(zonemempool, data, size) +#define Z_strdup(s) Mem_strdup(zonemempool, s) #define Z_Free(data) Mem_Free(data) extern struct cvar_s developer_memory; extern struct cvar_s developer_memorydebug; +extern struct cvar_s developer_memoryreportlargerthanmb; #endif