std::allocator::deallocate support sized-deallocation
authorPádraig Brady <pbrady@fb.com>
Mon, 20 May 2019 11:15:03 +0000 (11:15 +0000)
committerJonathan Wakely <redi@gcc.gnu.org>
Mon, 20 May 2019 11:15:03 +0000 (12:15 +0100)
commite5178b986a66848440fbb076287c5a0f87d86c6f
tree294d66da4291c695a3645943287540ae1b32fa68
parenteb530cab9a02ab8f223883422f74f4f3a4b24c64
std::allocator::deallocate support sized-deallocation

Pass the size to the allocator so that it may optimize deallocation.
This was seen to significantly reduce the work required in jemalloc,
with about 40% reduction in CPU cycles in the free path.

Note jemalloc >= 5.2 is required to fix a crash with 0 sizes.

2019-05-20  Pádraig Brady  <pbrady@fb.com>

* libstdc++-v3/include/ext/new_allocator.h (deallocate): Pass the size
to the deallocator with -fsized-deallocation.

From-SVN: r271409
libstdc++-v3/ChangeLog
libstdc++-v3/include/ext/new_allocator.h