diff options
author | Aliaksey Kandratsenka <alkondratenko@gmail.com> | 2016-03-05 15:47:25 -0800 |
---|---|---|
committer | Aliaksey Kandratsenka <alkondratenko@gmail.com> | 2016-03-05 17:12:04 -0800 |
commit | 782165fa7f2c49d6a67c2415626a1f215cc21ac2 (patch) | |
tree | 1897aa611f302402ea76a27b8b857ce8a257c705 /src/libc_override_gcc_and_weak.h | |
parent | 06811b3ae4c5365880898148d188ae91d20f52f2 (diff) | |
download | gperftools-782165fa7f2c49d6a67c2415626a1f215cc21ac2.tar.gz |
build sized delete aliases even when sized-delete is disabled
In this case we alias to regular delete. This is helpful because if we
don't override sized delete, then apps will call version in libstdc++
which delegates calls to regular delete, which is slower than calling
regular delete directly.
Diffstat (limited to 'src/libc_override_gcc_and_weak.h')
-rw-r--r-- | src/libc_override_gcc_and_weak.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/libc_override_gcc_and_weak.h b/src/libc_override_gcc_and_weak.h index ae981c4..ecb66ec 100644 --- a/src/libc_override_gcc_and_weak.h +++ b/src/libc_override_gcc_and_weak.h @@ -127,6 +127,13 @@ void operator delete(void *p, size_t size) throw() void operator delete[](void *p, size_t size) throw() __attribute__((ifunc("resolve_deletearray_sized"))); +#else /* !ENABLE_SIZED_DELETE && !ENABLE_DYN_SIZED_DELETE */ + +void operator delete(void *p, size_t size) throw() + ALIAS(tc_delete); +void operator delete[](void *p, size_t size) throw() + ALIAS(tc_deletearray); + #endif /* !ENABLE_SIZED_DELETE && !ENABLE_DYN_SIZED_DELETE */ extern "C" { |