mirror of
https://github.com/roytam1/UXP.git
synced 2026-05-26 13:58:49 +00:00
b7e6f5fd45
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).