diff options
author | Ryan Prichard <rprichard@google.com> | 2020-02-04 15:46:15 -0800 |
---|---|---|
committer | Ryan Prichard <rprichard@google.com> | 2020-03-09 14:23:24 -0700 |
commit | 58cbfd9e7a8b59918164209faa1b4ef53d4f8eee (patch) | |
tree | 7b9428a231ad5d6af10abea554a77c928741b5df /libc/malloc_hooks/malloc_hooks.cpp | |
parent | 1082315ddf69e5bcb8ad0e95e1fd55d86e375e64 (diff) |
Rewrite __cxa_atexit / __cxa_finalize
Simplify:
- Use a single memory-mapped region to hold the table of destructors.
Double its capacity each time it is expanded.
- Add a recompaction pass at the end of __cxa_finalize that shifts
entries forward and uses madvise to clean pages.
Bug: http://b/148055738
Test: bionic-unit-tests
Change-Id: Ieb9da2b88640a8a5277d217b43826b5b7e246781
(cherry picked from commit afa983c8d44400d45c1f0e2b8e90a8be04acf6f7)
Diffstat (limited to 'libc/malloc_hooks/malloc_hooks.cpp')
0 files changed, 0 insertions, 0 deletions