| Index: base/allocator/allocator_shim_override_cpp_symbols.h
|
| diff --git a/base/allocator/allocator_shim_override_cpp_symbols.h b/base/allocator/allocator_shim_override_cpp_symbols.h
|
| index 616716fb96f0dda2bc94d18ab18616c5e9acc3f3..3313687250f4325111e8652cd6360284ab71b93f 100644
|
| --- a/base/allocator/allocator_shim_override_cpp_symbols.h
|
| +++ b/base/allocator/allocator_shim_override_cpp_symbols.h
|
| @@ -7,36 +7,45 @@
|
| #endif
|
| #define BASE_ALLOCATOR_ALLOCATOR_SHIM_OVERRIDE_CPP_SYMBOLS_H_
|
|
|
| -// Alias the default new/delete C++ symbols to the shim entry points.
|
| -// This file is strongly inspired by tcmalloc's libc_override_redefine.h.
|
| +// Preempt the default new/delete C++ symbols so they call the shim entry
|
| +// points. This file is strongly inspired by tcmalloc's
|
| +// libc_override_redefine.h.
|
|
|
| #include <new>
|
|
|
| #include "base/allocator/allocator_shim_internals.h"
|
|
|
| -SHIM_ALWAYS_EXPORT void* operator new(size_t size)
|
| - SHIM_ALIAS_SYMBOL(ShimCppNew);
|
| +SHIM_ALWAYS_EXPORT void* operator new(size_t size) {
|
| + return ShimCppNew(size);
|
| +}
|
|
|
| -SHIM_ALWAYS_EXPORT void operator delete(void* p) __THROW
|
| - SHIM_ALIAS_SYMBOL(ShimCppDelete);
|
| +SHIM_ALWAYS_EXPORT void operator delete(void* p) __THROW {
|
| + ShimCppDelete(p);
|
| +}
|
|
|
| -SHIM_ALWAYS_EXPORT void* operator new[](size_t size)
|
| - SHIM_ALIAS_SYMBOL(ShimCppNew);
|
| +SHIM_ALWAYS_EXPORT void* operator new[](size_t size) {
|
| + return ShimCppNew(size);
|
| +}
|
|
|
| -SHIM_ALWAYS_EXPORT void operator delete[](void* p) __THROW
|
| - SHIM_ALIAS_SYMBOL(ShimCppDelete);
|
| +SHIM_ALWAYS_EXPORT void operator delete[](void* p) __THROW {
|
| + ShimCppDelete(p);
|
| +}
|
|
|
| SHIM_ALWAYS_EXPORT void* operator new(size_t size,
|
| - const std::nothrow_t&) __THROW
|
| - SHIM_ALIAS_SYMBOL(ShimCppNew);
|
| + const std::nothrow_t&) __THROW {
|
| + return ShimCppNew(size);
|
| +}
|
|
|
| SHIM_ALWAYS_EXPORT void* operator new[](size_t size,
|
| - const std::nothrow_t&) __THROW
|
| - SHIM_ALIAS_SYMBOL(ShimCppNew);
|
| + const std::nothrow_t&) __THROW {
|
| + return ShimCppNew(size);
|
| +}
|
|
|
| -SHIM_ALWAYS_EXPORT void operator delete(void* p, const std::nothrow_t&) __THROW
|
| - SHIM_ALIAS_SYMBOL(ShimCppDelete);
|
| +SHIM_ALWAYS_EXPORT void operator delete(void* p, const std::nothrow_t&) __THROW {
|
| + ShimCppDelete(p);
|
| +}
|
|
|
| SHIM_ALWAYS_EXPORT void operator delete[](void* p,
|
| - const std::nothrow_t&) __THROW
|
| - SHIM_ALIAS_SYMBOL(ShimCppDelete);
|
| + const std::nothrow_t&) __THROW {
|
| + ShimCppDelete(p);
|
| +}
|
|
|