diff options
| author | Jason Evans <je@fb.com> | 2010-12-04 01:05:01 (GMT) |
|---|---|---|
| committer | Jason Evans <je@fb.com> | 2010-12-04 01:05:01 (GMT) |
| commit | 1c4b088b08d3bc7617a34387e196ce03716160bf (patch) | |
| tree | ff0edcf0e21d136ddf6ffda51b1a205d9f12e646 /jemalloc/src/chunk_swap.c | |
| parent | 0a36622dd1e2e7da0b833e161ec79398bc30cd5b (diff) | |
| parent | 0e8d3d2cb9b3c9048b43588271a1e3a837ab186e (diff) | |
| download | jemalloc-2.1.0.zip jemalloc-2.1.0.tar.gz jemalloc-2.1.0.tar.bz2 | |
Merge branch 'dev'2.1.0
Diffstat (limited to 'jemalloc/src/chunk_swap.c')
| -rw-r--r-- | jemalloc/src/chunk_swap.c | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/jemalloc/src/chunk_swap.c b/jemalloc/src/chunk_swap.c index ee038ba..cb25ae0 100644 --- a/jemalloc/src/chunk_swap.c +++ b/jemalloc/src/chunk_swap.c @@ -185,6 +185,24 @@ chunk_dealloc_swap_record(void *chunk, size_t size) } bool +chunk_in_swap(void *chunk) +{ + bool ret; + + assert(swap_enabled); + + malloc_mutex_lock(&swap_mtx); + if ((uintptr_t)chunk >= (uintptr_t)swap_base + && (uintptr_t)chunk < (uintptr_t)swap_max) + ret = true; + else + ret = false; + malloc_mutex_unlock(&swap_mtx); + + return (ret); +} + +bool chunk_dealloc_swap(void *chunk, size_t size) { bool ret; @@ -219,15 +237,15 @@ chunk_dealloc_swap(void *chunk, size_t size) } else madvise(chunk, size, MADV_DONTNEED); +#ifdef JEMALLOC_STATS + swap_avail += size; +#endif ret = false; goto RETURN; } ret = true; RETURN: -#ifdef JEMALLOC_STATS - swap_avail += size; -#endif malloc_mutex_unlock(&swap_mtx); return (ret); } |
