nvidia-texture-tools/src/nvcore/Memory.cpp

57 lines
1.1 KiB
C++
Raw Normal View History

// This code is in the public domain -- Ignacio Casta<74>o <castano@gmail.com>
#include "Memory.h"
#include "Debug.h"
#include <stdlib.h>
2010-08-31 01:39:08 +00:00
#define USE_EFENCE 0
#if USE_EFENCE
extern "C" void *EF_malloc(size_t size);
extern "C" void *EF_realloc(void * oldBuffer, size_t newSize);
extern "C" void EF_free(void * address);
#endif
using namespace nv;
void * nv::mem::malloc(size_t size)
{
2010-08-31 01:39:08 +00:00
#if USE_EFENCE
return EF_malloc(size);
#else
return ::malloc(size);
2010-08-31 01:39:08 +00:00
#endif
}
void * nv::mem::malloc(size_t size, const char * file, int line)
{
NV_UNUSED(file);
NV_UNUSED(line);
2010-08-31 01:39:08 +00:00
#if USE_EFENCE
return EF_malloc(size);
#else
return ::malloc(size);
2010-08-31 01:39:08 +00:00
#endif
}
void nv::mem::free(const void * ptr)
{
2010-08-31 01:39:08 +00:00
#if USE_EFENCE
return EF_free(const_cast<void *>(ptr));
#else
::free(const_cast<void *>(ptr));
2010-08-31 01:39:08 +00:00
#endif
}
void * nv::mem::realloc(void * ptr, size_t size)
{
nvDebugCheck(ptr != NULL || size != 0); // undefined realloc behavior.
2010-08-31 01:39:08 +00:00
#if USE_EFENCE
return EF_realloc(ptr, size);
#else
return ::realloc(ptr, size);
2010-08-31 01:39:08 +00:00
#endif
}