bionic/libstdc++/src/new.cpp
André Goddard Rosa 8f92500fa9 optimize delete/delete[] operators by removing unneeded branch
Remove redundant not NULL check already done in free().

Signed-off-by: André Goddard Rosa <andre.goddard@gmail.com>
2010-01-30 22:26:30 -02:00

58 lines
789 B
C++

#include "new"
#include <stdlib.h>
const std::nothrow_t std::nothrow = {};
void* operator new(std::size_t size)
{
void* p = malloc(size);
if (p == NULL) {
// abort();
}
return p;
}
void* operator new[](std::size_t size)
{
void* p = malloc(size);
if (p == NULL) {
// abort();
}
return p;
}
void operator delete(void* ptr)
{
free(ptr);
}
void operator delete[](void* ptr)
{
free(ptr);
}
void* operator new(std::size_t size, const std::nothrow_t&)
{
return malloc(size);
}
void* operator new[](std::size_t size, const std::nothrow_t&)
{
return malloc(size);
}
void operator delete(void* ptr, const std::nothrow_t&)
{
free(ptr);
}
void operator delete[](void* ptr, const std::nothrow_t&)
{
free(ptr);
}