fixed OBJECT_ALLOCATOR macro
This commit is contained in:
parent
133e5bf333
commit
db961d9a1a
2 changed files with 7 additions and 12 deletions
|
@ -107,13 +107,8 @@ void* ObjectAllocator::alloc(size_t size)
|
|||
return freeChunk;
|
||||
}
|
||||
|
||||
void ObjectAllocator::free(void* chunk, size_t size)
|
||||
void ObjectAllocator::free(void* chunk)
|
||||
{
|
||||
#ifdef NDEBUG
|
||||
UNUSED(size);
|
||||
#endif
|
||||
assert(m_chunkSize == size);
|
||||
|
||||
// The freed chunk's next pointer points to the
|
||||
// current allocation pointer:
|
||||
reinterpret_cast<Chunk*>(chunk)->next = m_free;
|
||||
|
|
|
@ -37,11 +37,11 @@ public: \
|
|||
static void* operator new(size_t sz) { \
|
||||
return ObjectAllocator::enabled() ? allocator().alloc(sz) : ::operator new(sz); \
|
||||
} \
|
||||
static void operator delete(void* ptr, size_t sz) { \
|
||||
static void operator delete(void* ptr) { \
|
||||
if (ObjectAllocator::enabled()) { \
|
||||
allocator().free(ptr, sz); \
|
||||
allocator().free(ptr); \
|
||||
} else { \
|
||||
::operator delete(ptr, sz); \
|
||||
::operator delete(ptr); \
|
||||
} \
|
||||
} \
|
||||
static void* operator new[](size_t sz) { \
|
||||
|
@ -50,11 +50,11 @@ public: \
|
|||
static void* operator new(size_t sz, void* ptr) { \
|
||||
return ObjectAllocator::enabled() ? allocator().not_supported("new(size_t, void*)") : ::operator new(sz, ptr); \
|
||||
} \
|
||||
static void operator delete[](void* ptr, size_t sz) { \
|
||||
static void operator delete[](void* ptr) { \
|
||||
if (ObjectAllocator::enabled()) { \
|
||||
allocator().not_supported("delete[]"); \
|
||||
} else { \
|
||||
::operator delete[](ptr, sz); \
|
||||
::operator delete[](ptr); \
|
||||
} \
|
||||
} \
|
||||
private:
|
||||
|
@ -74,7 +74,7 @@ public:
|
|||
const char* name() const;
|
||||
|
||||
void* alloc(size_t size);
|
||||
void free(void* ptr, size_t size);
|
||||
void free(void* ptr);
|
||||
void cleanup();
|
||||
|
||||
template<class T>
|
||||
|
|
Loading…
Reference in a new issue