mirror of
https://github.com/jemalloc/jemalloc.git
synced 2026-07-12 19:57:17 +03:00
Define MADV_FREE on our own when needed.
On x86 Linux, we define our own MADV_FREE if madvise(2) is available, but no MADV_FREE is detected. This allows the feature to be built in and enabled with runtime detection.
This commit is contained in:
parent
fc83de0384
commit
31ab38be5f
4 changed files with 23 additions and 1 deletions
|
|
@ -269,7 +269,13 @@ pages_purge_lazy(void *addr, size_t size) {
|
|||
VirtualAlloc(addr, size, MEM_RESET, PAGE_READWRITE);
|
||||
return false;
|
||||
#elif defined(JEMALLOC_PURGE_MADVISE_FREE)
|
||||
return (madvise(addr, size, MADV_FREE) != 0);
|
||||
return (madvise(addr, size,
|
||||
# ifdef MADV_FREE
|
||||
MADV_FREE
|
||||
# else
|
||||
JEMALLOC_MADV_FREE
|
||||
# endif
|
||||
) != 0);
|
||||
#elif defined(JEMALLOC_PURGE_MADVISE_DONTNEED) && \
|
||||
!defined(JEMALLOC_PURGE_MADVISE_DONTNEED_ZEROS)
|
||||
return (madvise(addr, size, MADV_DONTNEED) != 0);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue