summaryrefslogtreecommitdiffstats
path: root/build
diff options
context:
space:
mode:
authorOlivier Certner <olce.palemoon@certner.fr>2021-01-06 11:30:19 +0100
committerOlivier Certner <olce.palemoon@certner.fr>2021-01-07 17:49:14 +0100
commit91f7c9d30e6bf58428cc06333ae04bf3abc03504 (patch)
tree1971e756a4ec37bb5a4fe52bfb745b3e044e1eee /build
parentf76695c1ce032b634f3e0e2a593aebdd1d49703b (diff)
downloadUXP-91f7c9d30e6bf58428cc06333ae04bf3abc03504.tar
UXP-91f7c9d30e6bf58428cc06333ae04bf3abc03504.tar.gz
UXP-91f7c9d30e6bf58428cc06333ae04bf3abc03504.tar.lz
UXP-91f7c9d30e6bf58428cc06333ae04bf3abc03504.tar.xz
UXP-91f7c9d30e6bf58428cc06333ae04bf3abc03504.zip
Issue #1699 - Part 3b: mozjemalloc: Bootstrap allocator, early diversion for FreeBSD
Coded a simple memory allocator meant to be used during jemalloc bootstrap (malloc_init_hard()). Although protected by "#ifdef __FreeBSD__", it is not FreeBSD-specific: Any POSIX platform could use it. Hook it so that it is used in place of jemalloc's own routines while malloc_init_hard() is executing or memory for mutexes is being allocated. Currently, 'malloc', 'calloc', '*memalign' and 'free' are diverted during init or lock initializations. Details are quite complex, see the big comment block starting with "There are several problematic interactions between FreeBSD's libthr and this jemalloc." for more explanations. Also replaced ad-hoc BSD code to determine the number of CPUs with 'sysconf', which is POSIX-compliant (and supported on modern BSDs).
Diffstat (limited to 'build')
0 files changed, 0 insertions, 0 deletions