From 1b5830178fe73d4018233fea6858fff87d2b19df Mon Sep 17 00:00:00 2001 From: Jason Evans Date: Sun, 17 Apr 2016 12:53:48 -0700 Subject: [PATCH] Fix malloc_mutex_[un]lock() to conditionally check witness. Also remove tautological cassert(config_debug) calls. --- include/jemalloc/internal/mutex.h | 4 ++-- src/witness.c | 10 ---------- 2 files changed, 2 insertions(+), 12 deletions(-) diff --git a/include/jemalloc/internal/mutex.h b/include/jemalloc/internal/mutex.h index 7d19a0f4..581aaf57 100644 --- a/include/jemalloc/internal/mutex.h +++ b/include/jemalloc/internal/mutex.h @@ -81,7 +81,8 @@ malloc_mutex_lock(tsd_t *tsd, malloc_mutex_t *mutex) { if (isthreaded) { - witness_assert_not_owner(tsd, &mutex->witness); + if (config_debug) + witness_assert_not_owner(tsd, &mutex->witness); #ifdef _WIN32 # if _WIN32_WINNT >= 0x0600 AcquireSRWLockExclusive(&mutex->lock); @@ -103,7 +104,6 @@ malloc_mutex_unlock(tsd_t *tsd, malloc_mutex_t *mutex) { if (isthreaded) { - witness_assert_owner(tsd, &mutex->witness); if (config_debug) witness_unlock(tsd, &mutex->witness); #ifdef _WIN32 diff --git a/src/witness.c b/src/witness.c index b7b91aca..444d200f 100644 --- a/src/witness.c +++ b/src/witness.c @@ -39,8 +39,6 @@ witness_lock(tsd_t *tsd, witness_t *witness) witness_list_t *witnesses; witness_t *w; - cassert(config_debug); - if (tsd == NULL) return; if (witness->rank == WITNESS_RANK_OMIT) @@ -63,8 +61,6 @@ witness_unlock(tsd_t *tsd, witness_t *witness) { witness_list_t *witnesses; - cassert(config_debug); - if (tsd == NULL) return; if (witness->rank == WITNESS_RANK_OMIT) @@ -101,8 +97,6 @@ witness_assert_owner(tsd_t *tsd, const witness_t *witness) witness_list_t *witnesses; witness_t *w; - cassert(config_debug); - if (tsd == NULL) return; if (witness->rank == WITNESS_RANK_OMIT) @@ -141,8 +135,6 @@ witness_assert_not_owner(tsd_t *tsd, const witness_t *witness) witness_list_t *witnesses; witness_t *w; - cassert(config_debug); - if (tsd == NULL) return; if (witness->rank == WITNESS_RANK_OMIT) @@ -184,8 +176,6 @@ witness_assert_lockless(tsd_t *tsd) witness_list_t *witnesses; witness_t *w; - cassert(config_debug); - if (tsd == NULL) return;