X-Git-Url: http://git.xonotic.org/?p=xonotic%2Fdarkplaces.git;a=blobdiff_plain;f=zone.h;h=a78372267114d9a61836774fd566914b674c3d6e;hp=065f1c0c89600e8a1a5375df684f27d9b8d5ebaf;hb=8507719df58bf767983c92ecfa32a70090bf501e;hpb=f5b7fe803746486111c16946c49798346810e0c8 diff --git a/zone.h b/zone.h index 065f1c0c..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); @@ -122,7 +130,6 @@ memexpandablearray_t; void Mem_ExpandableArray_NewArray(memexpandablearray_t *l, mempool_t *mempool, size_t recordsize, int numrecordsperarray); void Mem_ExpandableArray_FreeArray(memexpandablearray_t *l); void *Mem_ExpandableArray_AllocRecord(memexpandablearray_t *l); -void *Mem_ExpandableArray_AllocRecordAtIndex(memexpandablearray_t *l, size_t index); void Mem_ExpandableArray_FreeRecord(memexpandablearray_t *l, void *record); size_t Mem_ExpandableArray_IndexRange(const memexpandablearray_t *l) DP_FUNC_PURE; void *Mem_ExpandableArray_RecordAtIndex(const memexpandablearray_t *l, size_t index) DP_FUNC_PURE; @@ -135,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