diff options
| author | Jason Evans <jasone@canonware.com> | 2013-03-06 20:04:18 (GMT) |
|---|---|---|
| committer | Jason Evans <jasone@canonware.com> | 2013-03-06 20:04:18 (GMT) |
| commit | 9ef9d9e8c271cdf14f664b871a8f98c827714784 (patch) | |
| tree | 3981574a5c1746a8b9a2df1595b1ad25ea7afdef /include/jemalloc/internal/prof.h | |
| parent | 83789f45307379e096c4e8be81d9e9a51e3f5a4a (diff) | |
| parent | 2298835e70ae79577a1c691020874bb11eefc039 (diff) | |
| download | jemalloc-3.3.1.zip jemalloc-3.3.1.tar.gz jemalloc-3.3.1.tar.bz2 | |
Merge branch 'dev'3.3.1
Diffstat (limited to 'include/jemalloc/internal/prof.h')
| -rw-r--r-- | include/jemalloc/internal/prof.h | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/include/jemalloc/internal/prof.h b/include/jemalloc/internal/prof.h index 47f22ad..119a5b1 100644 --- a/include/jemalloc/internal/prof.h +++ b/include/jemalloc/internal/prof.h @@ -237,7 +237,7 @@ void prof_postfork_child(void); \ assert(size == s2u(size)); \ \ - prof_tdata = prof_tdata_get(); \ + prof_tdata = prof_tdata_get(true); \ if ((uintptr_t)prof_tdata <= (uintptr_t)PROF_TDATA_STATE_MAX) { \ if (prof_tdata != NULL) \ ret = (prof_thr_cnt_t *)(uintptr_t)1U; \ @@ -286,7 +286,7 @@ void prof_postfork_child(void); #ifndef JEMALLOC_ENABLE_INLINE malloc_tsd_protos(JEMALLOC_ATTR(unused), prof_tdata, prof_tdata_t *) -prof_tdata_t *prof_tdata_get(void); +prof_tdata_t *prof_tdata_get(bool create); void prof_sample_threshold_update(prof_tdata_t *prof_tdata); prof_ctx_t *prof_ctx_get(const void *ptr); void prof_ctx_set(const void *ptr, prof_ctx_t *ctx); @@ -304,17 +304,15 @@ malloc_tsd_funcs(JEMALLOC_INLINE, prof_tdata, prof_tdata_t *, NULL, prof_tdata_cleanup) JEMALLOC_INLINE prof_tdata_t * -prof_tdata_get(void) +prof_tdata_get(bool create) { prof_tdata_t *prof_tdata; cassert(config_prof); prof_tdata = *prof_tdata_tsd_get(); - if ((uintptr_t)prof_tdata <= (uintptr_t)PROF_TDATA_STATE_MAX) { - if (prof_tdata == NULL) - prof_tdata = prof_tdata_init(); - } + if (create && prof_tdata == NULL) + prof_tdata = prof_tdata_init(); return (prof_tdata); } @@ -397,7 +395,7 @@ prof_sample_accum_update(size_t size) /* Sampling logic is unnecessary if the interval is 1. */ assert(opt_lg_prof_sample != 0); - prof_tdata = *prof_tdata_tsd_get(); + prof_tdata = prof_tdata_get(false); if ((uintptr_t)prof_tdata <= (uintptr_t)PROF_TDATA_STATE_MAX) return (true); |
