[scudo] Manage pages with MemMap in SizeClassAllocator64
authorChia-hung Duan <chiahungduan@google.com>
Tue, 4 Apr 2023 20:13:13 +0000 (20:13 +0000)
committerChia-hung Duan <chiahungduan@google.com>
Wed, 5 Apr 2023 21:28:54 +0000 (21:28 +0000)
commit405ceaa09de04332384ab4e12a2ae5a79eb7d10d
tree962753a7132beaec187ec40bd111babac4d132bb
parent3c76e5f0c868fc027c5d057b774e327eef3e40c7
[scudo] Manage pages with MemMap in SizeClassAllocator64

Introduce a new data structure to manage the allocated pages from the
system. This is meant to deprecate certain memory system call wrappers
in Scudo, e.g., map()/unmap(). Besides, we would like to make
MapPlatformData to be appeared in platform specific data structure only.
Given that there are several allocators in Scudo and each of them has
different way of page management. The deprecation will be done in
several CLs. In this commit, we start from SizeClassAllocator64.

Reviewed By: cferris

Differential Revision: https://reviews.llvm.org/D146009
compiler-rt/lib/scudo/standalone/CMakeLists.txt
compiler-rt/lib/scudo/standalone/mem_map.cpp [new file with mode: 0644]
compiler-rt/lib/scudo/standalone/mem_map.h [new file with mode: 0644]
compiler-rt/lib/scudo/standalone/mem_map_base.h [new file with mode: 0644]
compiler-rt/lib/scudo/standalone/primary64.h
compiler-rt/lib/scudo/standalone/release.h