tree b842ee6267423b2e6346bbb4b9227269c53d069b
parent 690fa145ef512142e9ce54ccb834adb0ad88c224
author Willy Tarreau <w@1wt.eu> 1633450451 +0200
committer Willy Tarreau <w@1wt.eu> 1633563411 +0200
encoding latin1

REORG: pools: uninline the UAF allocator and force-inline the rest

pool-os.h relies on a number of includes solely because the
pool_alloc_area() function was inlined, and this only because we want
the normal version to be inlined so that we can track the calling
places for the memory profiler. It's worth noting that it already
does not work at -O0, and that when UAF is enabled we don't care a
dime about profiling.

This patch does two things at once:
  - force-inline the functions so that pool_alloc_area() is still
    inlined at -O0 to help track malloc() users ;

  - uninline the UAF version of these (that rely on mmap/munmap)
    and move them to pools.c so that we can remove all unneeded
    includes.

Doing so reduces by ~270kB or 0.15% the total build size.
