@@ -42,17 +42,18 @@ else()
4242 set (CPU_SPINWAIT "_mm_pause()" )
4343 else ()
4444 set (CPU_SPINWAIT "__asm__ volatile\(\" pause\"\) " )
45+ set (JEMALLOC_HAVE_RDTSCP 1)
4546 endif ()
4647endif ()
4748
4849# git describe --long --abbrev=40
49- set (JEMALLOC_VERSION "5.3.0-0-g54eaed1d8b56b1aa528be3bdd1877e59c56fa90c " )
50+ set (JEMALLOC_VERSION "5.3.1-12-gee4d7b7f9a5c1b48d462be2b65c16e4ead8e3396 " )
5051set (JEMALLOC_VERSION_MAJOR 5)
5152set (JEMALLOC_VERSION_MINOR 3)
52- set (JEMALLOC_VERSION_BUGFIX 0 )
53- set (JEMALLOC_VERSION_NREV 0 )
54- set (JEMALLOC_VERSION_GID "54eaed1d8b56b1aa528be3bdd1877e59c56fa90c " )
55- set (JEMALLOC_VERSION_GID_IDENT 54eaed1d8b56b1aa528be3bdd1877e59c56fa90c )
53+ set (JEMALLOC_VERSION_BUGFIX 1 )
54+ set (JEMALLOC_VERSION_NREV 12 )
55+ set (JEMALLOC_VERSION_GID "ee4d7b7f9a5c1b48d462be2b65c16e4ead8e3396 " )
56+ set (JEMALLOC_VERSION_GID_IDENT ee4d7b7f9a5c1b48d462be2b65c16e4ead8e3396 )
5657
5758set (JEMALLOC_MAPS_COALESCE 1)
5859set (JEMALLOC_TLS 1)
@@ -67,6 +68,9 @@ if(APPLE)
6768 set (JEMALLOC_ZONE 1)
6869 unset (JEMALLOC_TLS)
6970 check_symbol_exists (mach_absolute_time "mach/mach_time.h" JEMALLOC_HAVE_MACH_ABSOLUTE_TIME )
71+ if (LG_SIZEOF_PTR STREQUAL "3" )
72+ set (JEMALLOC_RETAIN 1)
73+ endif ()
7074elseif (CMAKE_SYSTEM_NAME STREQUAL "OpenBSD" )
7175 set (JEMALLOC_DSS 1)
7276 unset (JEMALLOC_TLS)
@@ -114,6 +118,7 @@ if(NOT MSVC)
114118 set (JEMALLOC_GCC_U8_ATOMIC_ATOMICS 1) # don't bother detecting atomic support, all TC-supported compilers (excluding msvc) have gcc-like atomics
115119 set (JEMALLOC_HAVE_ATTR 1)
116120 set (JEMALLOC_TLS_MODEL "__attribute__\(\( tls_model\(\" initial-exec\"\)\)\) " )
121+ set (JEMALLOC_HAVE_ATTR_DEPRECATED 1)
117122 set (JEMALLOC_HAVE_ATTR_FORMAT_GNU_PRINTF 1)
118123 set (JEMALLOC_HAVE_ATTR_FORMAT_PRINTF 1)
119124 set (JEMALLOC_HAVE_ATTR_FORMAT_ARG 1)
@@ -146,11 +151,15 @@ set(JEMALLOC_CONFIG_MALLOC_CONF "")
146151set (JEMALLOC_C11_ATOMICS 1)
147152set (JEMALLOC_ENABLE_CXX 1)
148153set (JEMALLOC_FILL 1)
154+ set (JEMALLOC_HAVE_CXX_EXCEPTIONS 1)
149155set (JEMALLOC_PRIVATE_NAMESPACE "je_" )
150156set (JEMALLOC_STATS 1)
157+ unset (JEMALLOC_CONFIG_ENV)
158+ unset (JEMALLOC_CONFIG_FILE)
151159unset (JEMALLOC_LOG)
152160unset (JEMALLOC_OPT_SAFETY_CHECKS)
153161unset (JEMALLOC_OPT_SIZE_CHECKS)
162+ unset (JEMALLOC_PAGEID)
154163unset (JEMALLOC_READLINKAT)
155164unset (JEMALLOC_UAF_DETECTION)
156165unset (JEMALLOC_UTRACE)
@@ -161,6 +170,7 @@ set(CMAKE_REQUIRED_DEFINITIONS ${JEMALLOC_EXTRA_DEFINES})
161170
162171check_symbol_exists (memalign "malloc.h" JEMALLOC_OVERRIDE_MEMALIGN )
163172check_symbol_exists (valloc "stdlib.h" JEMALLOC_OVERRIDE_VALLOC )
173+ check_symbol_exists (pvalloc "malloc.h" JEMALLOC_OVERRIDE_PVALLOC )
164174check_symbol_exists (malloc_size "malloc/malloc.h" JEMALLOC_HAVE_MALLOC_SIZE )
165175
166176set (wrap_syms "" )
@@ -173,6 +183,14 @@ if(NOT JEMALLOC_PREFIX)
173183 if (JEMALLOC_OVERRIDE___LIBC_FREE)
174184 list (APPEND wrap_syms "__libc_free" )
175185 endif ()
186+ check_function_exists (__libc_free_sized JEMALLOC_OVERRIDE___LIBC_FREE_SIZED )
187+ if (JEMALLOC_OVERRIDE___LIBC_FREE_SIZED)
188+ list (APPEND wrap_syms "__libc_free_sized" )
189+ endif ()
190+ check_function_exists (__libc_free_aligned_sized JEMALLOC_OVERRIDE___LIBC_FREE_ALIGNED_SIZED )
191+ if (JEMALLOC_OVERRIDE___LIBC_FREE_ALIGNED_SIZED)
192+ list (APPEND wrap_syms "__libc_free_aligned_sized" )
193+ endif ()
176194 check_function_exists (__libc_malloc JEMALLOC_OVERRIDE___LIBC_MALLOC )
177195 if (JEMALLOC_OVERRIDE___LIBC_MALLOC)
178196 list (APPEND wrap_syms "__libc_malloc" )
@@ -189,6 +207,10 @@ if(NOT JEMALLOC_PREFIX)
189207 if (JEMALLOC_OVERRIDE___LIBC_VALLOC)
190208 list (APPEND wrap_syms "__libc_valloc" )
191209 endif ()
210+ check_function_exists (__libc_pvalloc JEMALLOC_OVERRIDE___LIBC_PVALLOC )
211+ if (JEMALLOC_OVERRIDE___LIBC_PVALLOC)
212+ list (APPEND wrap_syms "__libc_pvalloc" )
213+ endif ()
192214 check_function_exists (__posix_memalign JEMALLOC_OVERRIDE___POSIX_MEMALIGN )
193215 if (JEMALLOC_OVERRIDE___POSIX_MEMALIGN)
194216 list (APPEND wrap_syms "__posix_memalign" )
@@ -203,7 +225,8 @@ if(NOT WIN32)
203225 check_symbol_exists (pthread_atfork "pthread.h" JEMALLOC_HAVE_PTHREAD_ATFORK )
204226 check_symbol_exists (pthread_setname_np "pthread.h" JEMALLOC_HAVE_PTHREAD_SETNAME_NP )
205227 check_symbol_exists (pthread_getname_np "pthread.h" JEMALLOC_HAVE_PTHREAD_GETNAME_NP )
206- check_symbol_exists (pthread_get_name_np "pthread.h" JEMALLOC_HAVE_PTHREAD_GET_NAME_NP )
228+ check_symbol_exists (pthread_set_name_np "pthread_np.h" JEMALLOC_HAVE_PTHREAD_SET_NAME_NP )
229+ check_symbol_exists (pthread_get_name_np "pthread_np.h" JEMALLOC_HAVE_PTHREAD_GET_NAME_NP )
207230 check_c_source_compiles ("
208231 #include <pthread.h>
209232 int main()
@@ -214,9 +237,11 @@ if(NOT WIN32)
214237 pthread_mutexattr_destroy(&attr);
215238 }
216239 " JEMALLOC_HAVE_PTHREAD_MUTEX_ADAPTIVE_NP )
240+ check_symbol_exists (gettid "unistd.h" JEMALLOC_HAVE_GETTID )
217241 check_symbol_exists (CLOCK_MONOTONIC_COARSE "time.h" JEMALLOC_HAVE_CLOCK_MONOTONIC_COARSE )
218242 check_symbol_exists (CLOCK_MONOTONIC "time.h" JEMALLOC_HAVE_CLOCK_MONOTONIC )
219243 check_symbol_exists (CLOCK_REALTIME "time.h" JEMALLOC_HAVE_CLOCK_REALTIME )
244+ check_symbol_exists (clock_gettime_nsec_np "time.h" JEMALLOC_HAVE_CLOCK_GETTIME_NSEC_NP )
220245
221246 set (CMAKE_REQUIRED_FLAGS "-Werror" )
222247 check_c_source_compiles ("
@@ -229,6 +254,7 @@ if(NOT WIN32)
229254 check_symbol_exists (secure_getenv "stdlib.h" JEMALLOC_HAVE_SECURE_GETENV )
230255 check_symbol_exists (sched_getcpu "sched.h" JEMALLOC_HAVE_SCHED_GETCPU )
231256 check_symbol_exists (sched_setaffinity "sched.h" JEMALLOC_HAVE_SCHED_SETAFFINITY )
257+ check_symbol_exists (pthread_setaffinity_np "pthread.h" JEMALLOC_HAVE_PTHREAD_SETAFFINITY_NP )
232258 check_symbol_exists (issetugid "unistd.h" JEMALLOC_HAVE_ISSETUGID )
233259 check_symbol_exists (_malloc_thread_cleanup "pthread.h" JEMALLOC_MALLOC_THREAD_CLEANUP )
234260 if (JEMALLOC_MALLOC_THREAD_CLEANUP)
@@ -244,6 +270,7 @@ if(NOT WIN32)
244270 endif ()
245271
246272 check_symbol_exists (memcntl "sys/types.h;sys/mman.h" JEMALLOC_HAVE_MEMCNTL )
273+ check_symbol_exists (prctl "sys/prctl.h" JEMALLOC_HAVE_PRCTL )
247274 check_symbol_exists (madvise "sys/mman.h" JEMALLOC_HAVE_MADVISE )
248275 if (JEMALLOC_HAVE_MADVISE)
249276 check_symbol_exists (MADV_FREE "sys/mman.h" JEMALLOC_PURGE_MADVISE_FREE )
@@ -254,9 +281,11 @@ if(NOT WIN32)
254281 check_symbol_exists (MADV_DONTNEED "sys/mman.h" JEMALLOC_PURGE_MADVISE_DONTNEED )
255282 check_symbol_exists (MADV_DONTDUMP "sys/mman.h" JEMALLOC_MADVISE_DONTDUMP )
256283 check_symbol_exists (MADV_NOCORE "sys/mman.h" JEMALLOC_MADVISE_NOCORE )
284+ check_symbol_exists (MADV_COLLAPSE "sys/mman.h" JEMALLOC_HAVE_MADVISE_COLLAPSE )
257285 if (TRINITY_SYSTEM_PROCESSOR MATCHES "x86|amd64" )
258286 check_symbol_exists (MADV_HUGEPAGE "sys/mman.h" JEMALLOC_HAVE_MADVISE_HUGE )
259287 endif ()
288+ check_symbol_exists (SYS_process_madvise "sys/syscall.h" JEMALLOC_HAVE_PROCESS_MADVISE )
260289 else ()
261290 check_symbol_exists (posix_madvise "sys/mman.h" JEMALLOC_HAVE_POSIX_MADVISE )
262291 if (JEMALLOC_HAVE_POSIX_MADVISE)
@@ -283,6 +312,13 @@ if(NOT WIN32)
283312 }
284313 " JEMALLOC_STRERROR_R_RETURNS_CHAR_WITH_GNU_SOURCE )
285314 unset (CMAKE_REQUIRED_FLAGS)
315+ check_c_source_compiles ("
316+ int main()
317+ {
318+ __int128 temp = 0;
319+ return temp;
320+ }
321+ " JEMALLOC_HAVE_INT128 )
286322endif ()
287323
288324unset (CMAKE_REQUIRED_DEFINITIONS)
@@ -312,6 +348,7 @@ add_library(jemalloc STATIC
312348 ${CMAKE_CURRENT_SOURCE_DIR} /src/buf_writer.c
313349 ${CMAKE_CURRENT_SOURCE_DIR} /src/cache_bin.c
314350 ${CMAKE_CURRENT_SOURCE_DIR} /src/ckh.c
351+ ${CMAKE_CURRENT_SOURCE_DIR} /src/conf.c
315352 ${CMAKE_CURRENT_SOURCE_DIR} /src/counter.c
316353 ${CMAKE_CURRENT_SOURCE_DIR} /src/ctl.c
317354 ${CMAKE_CURRENT_SOURCE_DIR} /src/decay.c
@@ -331,7 +368,9 @@ add_library(jemalloc STATIC
331368 ${CMAKE_CURRENT_SOURCE_DIR} /src/san_bump.c
332369 ${CMAKE_CURRENT_SOURCE_DIR} /src/hook.c
333370 ${CMAKE_CURRENT_SOURCE_DIR} /src/hpa.c
371+ ${CMAKE_CURRENT_SOURCE_DIR} /src/hpa_central.c
334372 ${CMAKE_CURRENT_SOURCE_DIR} /src/hpa_hooks.c
373+ ${CMAKE_CURRENT_SOURCE_DIR} /src/hpa_utils.c
335374 ${CMAKE_CURRENT_SOURCE_DIR} /src/hpdata.c
336375 ${CMAKE_CURRENT_SOURCE_DIR} /src/inspect.c
337376 ${CMAKE_CURRENT_SOURCE_DIR} /src/large.c
@@ -341,14 +380,14 @@ add_library(jemalloc STATIC
341380 ${CMAKE_CURRENT_SOURCE_DIR} /src/nstime.c
342381 ${CMAKE_CURRENT_SOURCE_DIR} /src/pa.c
343382 ${CMAKE_CURRENT_SOURCE_DIR} /src/pa_extra.c
344- ${CMAKE_CURRENT_SOURCE_DIR} /src/pai.c
345383 ${CMAKE_CURRENT_SOURCE_DIR} /src/pac.c
346384 ${CMAKE_CURRENT_SOURCE_DIR} /src/pages.c
347385 ${CMAKE_CURRENT_SOURCE_DIR} /src/peak_event.c
348386 ${CMAKE_CURRENT_SOURCE_DIR} /src/prof.c
349387 ${CMAKE_CURRENT_SOURCE_DIR} /src/prof_data.c
350388 ${CMAKE_CURRENT_SOURCE_DIR} /src/prof_log.c
351389 ${CMAKE_CURRENT_SOURCE_DIR} /src/prof_recent.c
390+ ${CMAKE_CURRENT_SOURCE_DIR} /src/prof_stack_range.c
352391 ${CMAKE_CURRENT_SOURCE_DIR} /src/prof_stats.c
353392 ${CMAKE_CURRENT_SOURCE_DIR} /src/prof_sys.c
354393 ${CMAKE_CURRENT_SOURCE_DIR} /src/psset.c
@@ -361,8 +400,10 @@ add_library(jemalloc STATIC
361400 ${CMAKE_CURRENT_SOURCE_DIR} /src/tcache.c
362401 ${CMAKE_CURRENT_SOURCE_DIR} /src/test_hooks.c
363402 ${CMAKE_CURRENT_SOURCE_DIR} /src/thread_event.c
403+ ${CMAKE_CURRENT_SOURCE_DIR} /src/thread_event_registry.c
364404 ${CMAKE_CURRENT_SOURCE_DIR} /src/ticker.c
365405 ${CMAKE_CURRENT_SOURCE_DIR} /src/tsd.c
406+ ${CMAKE_CURRENT_SOURCE_DIR} /src/util.c
366407 ${CMAKE_CURRENT_SOURCE_DIR} /src/witness.c )
367408
368409if (APPLE )
0 commit comments