From 1a7b8079d09c2965724882819dabf284d62b816b Mon Sep 17 00:00:00 2001 From: Daniel Micay Date: Sun, 2 Sep 2018 19:58:57 -0400 Subject: [PATCH] reuse is_init when possible --- malloc.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/malloc.c b/malloc.c index aea65a3..429c22a 100644 --- a/malloc.c +++ b/malloc.c @@ -564,12 +564,22 @@ static void post_fork_child(void) { } } +static inline bool is_init(void) { + return atomic_load_explicit(&ro.initialized, memory_order_acquire); +} + +static inline void enforce_init(void) { + if (!is_init()) { + fatal_error("invalid uninitialized allocator usage"); + } +} + COLD static void init_slow_path(void) { static pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER; pthread_mutex_lock(&mutex); - if (atomic_load_explicit(&ro.initialized, memory_order_acquire)) { + if (is_init()) { pthread_mutex_unlock(&mutex); return; } @@ -644,7 +654,7 @@ COLD static void init_slow_path(void) { } static inline void init(void) { - if (likely(atomic_load_explicit(&ro.initialized, memory_order_acquire))) { + if (likely(is_init())) { return; } @@ -657,16 +667,6 @@ COLD __attribute__((constructor(101))) static void trigger_early_init(void) { h_free(h_malloc(16)); } -static inline void enforce_init(void) { - if (!atomic_load_explicit(&ro.initialized, memory_order_acquire)) { - fatal_error("invalid uninitialized allocator usage"); - } -} - -static inline bool is_init(void) { - return atomic_load_explicit(&ro.initialized, memory_order_acquire); -} - static size_t get_guard_size(struct random_state *state, size_t size) { return (get_random_u64_uniform(state, size / PAGE_SIZE / 8) + 1) * PAGE_SIZE; }