pw_malloc_freelist#
Pigweed AI summary: The "pw_malloc_freelist" module implements the "pw_malloc" facade using a freelist heap. It initializes a global "FreeListHeapBuffer" object to organize heap usage and provides wrapper functions for "malloc", "free", "realloc", and "calloc" that use the freelist implementation of heap in "pw_allocator". It also provides linker options needed in "public_configs" in the GN build file, which will be forwarded to the facade. The original libc functions are replaced with the
pw_malloc_freelist
implements the pw_malloc
facade using a freelist
heap.
pw_malloc_freelist
initializes a global FreeListHeapBuffer
object to
organize heap usage. Implementation details are in the pw_allocator
module.
pw_malloc_freelist
provides wrapper functions for malloc
, free
,
realloc
and calloc
that uses the freelist implementation of heap in
pw_allocator
. In the GN build file, pw_malloc_freelist
provides linker
options needed in public_configs
, which will be forwarded to the facade. In
the case of freelist, we specify the wrapper functions malloc, free, realloc,
calloc, _malloc_r, _free_r, _realloc_r, _calloc_r
to replace the original libc
functions at linker time.