summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJason Evans <je@fb.com>2014-04-15 21:33:50 (GMT)
committerJason Evans <je@fb.com>2014-04-15 21:33:50 (GMT)
commitecd3e59ca351d7111ec72a327fe0c009f2aa69a0 (patch)
tree5deff3bbd75804e9a2b079b7c9b6b2016e226c94 /src
parenta2c719b37445ce9083b6fc5084436dc37ceb7f75 (diff)
downloadjemalloc-ecd3e59ca351d7111ec72a327fe0c009f2aa69a0.zip
jemalloc-ecd3e59ca351d7111ec72a327fe0c009f2aa69a0.tar.gz
jemalloc-ecd3e59ca351d7111ec72a327fe0c009f2aa69a0.tar.bz2
Remove the "opt.valgrind" mallctl.
Remove the "opt.valgrind" mallctl because it is unnecessary -- jemalloc automatically detects whether it is running inside valgrind.
Diffstat (limited to 'src')
-rw-r--r--src/ctl.c3
-rw-r--r--src/jemalloc.c35
-rw-r--r--src/quarantine.c2
3 files changed, 18 insertions, 22 deletions
diff --git a/src/ctl.c b/src/ctl.c
index 3d44a95..9ee5de9 100644
--- a/src/ctl.c
+++ b/src/ctl.c
@@ -98,7 +98,6 @@ CTL_PROTO(opt_zero)
CTL_PROTO(opt_quarantine)
CTL_PROTO(opt_redzone)
CTL_PROTO(opt_utrace)
-CTL_PROTO(opt_valgrind)
CTL_PROTO(opt_xmalloc)
CTL_PROTO(opt_tcache)
CTL_PROTO(opt_lg_tcache_max)
@@ -238,7 +237,6 @@ static const ctl_named_node_t opt_node[] = {
{NAME("quarantine"), CTL(opt_quarantine)},
{NAME("redzone"), CTL(opt_redzone)},
{NAME("utrace"), CTL(opt_utrace)},
- {NAME("valgrind"), CTL(opt_valgrind)},
{NAME("xmalloc"), CTL(opt_xmalloc)},
{NAME("tcache"), CTL(opt_tcache)},
{NAME("lg_tcache_max"), CTL(opt_lg_tcache_max)},
@@ -1159,7 +1157,6 @@ CTL_RO_NL_CGEN(config_fill, opt_quarantine, opt_quarantine, size_t)
CTL_RO_NL_CGEN(config_fill, opt_redzone, opt_redzone, bool)
CTL_RO_NL_CGEN(config_fill, opt_zero, opt_zero, bool)
CTL_RO_NL_CGEN(config_utrace, opt_utrace, opt_utrace, bool)
-CTL_RO_NL_CGEN(config_valgrind, opt_valgrind, opt_valgrind, bool)
CTL_RO_NL_CGEN(config_xmalloc, opt_xmalloc, opt_xmalloc, bool)
CTL_RO_NL_CGEN(config_tcache, opt_tcache, opt_tcache, bool)
CTL_RO_NL_CGEN(config_tcache, opt_lg_tcache_max, opt_lg_tcache_max, ssize_t)
diff --git a/src/jemalloc.c b/src/jemalloc.c
index 0de5940..11f1c45 100644
--- a/src/jemalloc.c
+++ b/src/jemalloc.c
@@ -27,11 +27,13 @@ bool opt_junk =
size_t opt_quarantine = ZU(0);
bool opt_redzone = false;
bool opt_utrace = false;
-bool opt_valgrind = false;
bool opt_xmalloc = false;
bool opt_zero = false;
size_t opt_narenas = 0;
+/* Initialized to true if the process is running inside Valgrind. */
+bool in_valgrind;
+
unsigned ncpus;
malloc_mutex_t arenas_lock;
@@ -394,14 +396,14 @@ malloc_conf_init(void)
* valgrind option remains in jemalloc 3.x for compatibility reasons.
*/
if (config_valgrind) {
- opt_valgrind = (RUNNING_ON_VALGRIND != 0) ? true : false;
- if (config_fill && opt_valgrind) {
+ in_valgrind = (RUNNING_ON_VALGRIND != 0) ? true : false;
+ if (config_fill && in_valgrind) {
opt_junk = false;
assert(opt_zero == false);
opt_quarantine = JEMALLOC_VALGRIND_QUARANTINE_DEFAULT;
opt_redzone = true;
}
- if (config_tcache && opt_valgrind)
+ if (config_tcache && in_valgrind)
opt_tcache = false;
}
@@ -608,9 +610,6 @@ malloc_conf_init(void)
if (config_utrace) {
CONF_HANDLE_BOOL(opt_utrace, "utrace")
}
- if (config_valgrind) {
- CONF_HANDLE_BOOL(opt_valgrind, "valgrind")
- }
if (config_xmalloc) {
CONF_HANDLE_BOOL(opt_xmalloc, "xmalloc")
}
@@ -910,7 +909,7 @@ imalloc_prof(size_t usize, prof_thr_cnt_t *cnt)
ret = imalloc_prof(usize, cnt); \
} else { \
if (config_stats || (config_valgrind && \
- opt_valgrind)) \
+ in_valgrind)) \
usize = s2u(size); \
ret = imalloc(size); \
} \
@@ -1153,7 +1152,7 @@ je_calloc(size_t num, size_t size)
PROF_ALLOC_PREP(1, usize, cnt);
ret = icalloc_prof(usize, cnt);
} else {
- if (config_stats || (config_valgrind && opt_valgrind))
+ if (config_stats || (config_valgrind && in_valgrind))
usize = s2u(num_size);
ret = icalloc(num_size);
}
@@ -1228,7 +1227,7 @@ ifree(void *ptr)
usize = isalloc(ptr, config_prof);
if (config_stats)
thread_allocated_tsd_get()->deallocated += usize;
- if (config_valgrind && opt_valgrind)
+ if (config_valgrind && in_valgrind)
rzsize = p2rz(ptr);
iqalloc(ptr);
JEMALLOC_VALGRIND_FREE(ptr, rzsize);
@@ -1257,9 +1256,9 @@ je_realloc(void *ptr, size_t size)
malloc_thread_init();
if ((config_prof && opt_prof) || config_stats ||
- (config_valgrind && opt_valgrind))
+ (config_valgrind && in_valgrind))
old_usize = isalloc(ptr, config_prof);
- if (config_valgrind && opt_valgrind)
+ if (config_valgrind && in_valgrind)
old_rzsize = config_prof ? p2rz(ptr) : u2rz(old_usize);
if (config_prof && opt_prof) {
@@ -1269,7 +1268,7 @@ je_realloc(void *ptr, size_t size)
PROF_ALLOC_PREP(1, usize, cnt);
ret = irealloc_prof(ptr, old_usize, usize, cnt);
} else {
- if (config_stats || (config_valgrind && opt_valgrind))
+ if (config_stats || (config_valgrind && in_valgrind))
usize = s2u(size);
ret = iralloc(ptr, size, 0, 0, false);
}
@@ -1574,9 +1573,9 @@ je_rallocx(void *ptr, size_t size, int flags)
}
if ((config_prof && opt_prof) || config_stats ||
- (config_valgrind && opt_valgrind))
+ (config_valgrind && in_valgrind))
old_usize = isalloc(ptr, config_prof);
- if (config_valgrind && opt_valgrind)
+ if (config_valgrind && in_valgrind)
old_rzsize = u2rz(old_usize);
if (config_prof && opt_prof) {
@@ -1594,7 +1593,7 @@ je_rallocx(void *ptr, size_t size, int flags)
try_tcache_dalloc, arena);
if (p == NULL)
goto label_oom;
- if (config_stats || (config_valgrind && opt_valgrind))
+ if (config_stats || (config_valgrind && in_valgrind))
usize = isalloc(p, config_prof);
}
@@ -1702,7 +1701,7 @@ je_xallocx(void *ptr, size_t size, size_t extra, int flags)
arena = NULL;
old_usize = isalloc(ptr, config_prof);
- if (config_valgrind && opt_valgrind)
+ if (config_valgrind && in_valgrind)
old_rzsize = u2rz(old_usize);
if (config_prof && opt_prof) {
@@ -1784,7 +1783,7 @@ je_dallocx(void *ptr, int flags)
}
if (config_stats)
thread_allocated_tsd_get()->deallocated += usize;
- if (config_valgrind && opt_valgrind)
+ if (config_valgrind && in_valgrind)
rzsize = p2rz(ptr);
iqalloct(ptr, try_tcache);
JEMALLOC_VALGRIND_FREE(ptr, rzsize);
diff --git a/src/quarantine.c b/src/quarantine.c
index 5431511..3b87442 100644
--- a/src/quarantine.c
+++ b/src/quarantine.c
@@ -146,7 +146,7 @@ quarantine(void *ptr)
* Only do redzone validation if Valgrind isn't in
* operation.
*/
- if ((config_valgrind == false || opt_valgrind == false)
+ if ((config_valgrind == false || in_valgrind == false)
&& usize <= SMALL_MAXCLASS)
arena_quarantine_junk_small(ptr, usize);
else