Add a pages_purge function to wrap madvise(JEMALLOC_MADV_PURGE) calls

This will be used to implement the feature on mingw, which doesn't have
madvise.
This commit is contained in:
Mike Hommey
2012-04-18 18:29:43 +02:00
committed by Jason Evans
parent e38e45743f
commit 666c5bf7a8
6 changed files with 20 additions and 10 deletions

View File

@@ -72,6 +72,20 @@ pages_unmap(void *addr, size_t size)
}
}
void
pages_purge(void *addr, size_t length)
{
#ifdef JEMALLOC_PURGE_MADVISE_DONTNEED
# define JEMALLOC_MADV_PURGE MADV_DONTNEED
#elif defined(JEMALLOC_PURGE_MADVISE_FREE)
# define JEMALLOC_MADV_PURGE MADV_FREE
#else
# error "No method defined for purging unused dirty pages."
#endif
madvise(addr, length, JEMALLOC_MADV_PURGE);
}
static void *
chunk_alloc_mmap_slow(size_t size, size_t alignment, bool unaligned)
{