mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-12 04:45:45 +00:00
845f9c5d82
The allocator API is a moving target, and every time we change it, the surface for replace-malloc libraries grows. This causes some build system problems, because of the tricks in replace_malloc.mk, which require the full list of symbols. Considering the above and the goal of moving some of the replace-malloc libraries into mozglue, it becomes simpler to reduce the replace-malloc exposure to the initialization functions. So instead of the allocator poking into replace-malloc libraries for all the functions, we expect their replace_init function to alter the table of allocator functions it's passed to register its own functions. This means replace-malloc implementations now need to copy the original table, which is not a bad thing, as it allows function calls with one level of indirection less. It also replace_init functions to not actually register the replace-malloc functions in some cases, which will be useful when linking some replace-malloc libraries into mozglue. Note this is binary compatible with previously built replace-malloc libraries, but because those libraries wouldn't update the function table, they would stay disabled. --HG-- extra : rebase_source : 2518f6ebe76b4c82359e98369de6a5a8c3ca9967 |
||
---|---|---|
.. | ||
build | ||
fallible | ||
gtest | ||
mozalloc | ||
replace | ||
volatile | ||
app.mozbuild | ||
moz.build | ||
moz.configure |