Allow to disable the zone allocator on Darwin
This commit is contained in:
parent
1bf2743e08
commit
d0357f7a09
4
INSTALL
4
INSTALL
@ -141,6 +141,10 @@ any of the following arguments (not a definitive list) to 'configure':
|
|||||||
--disable-experimental
|
--disable-experimental
|
||||||
Disable support for the experimental API (*allocm()).
|
Disable support for the experimental API (*allocm()).
|
||||||
|
|
||||||
|
--disable-zone-allocator
|
||||||
|
Disable zone allocator for Darwin. This means jemalloc won't be hooked as
|
||||||
|
the default allocator on OSX/iOS.
|
||||||
|
|
||||||
--enable-utrace
|
--enable-utrace
|
||||||
Enable utrace(2)-based allocation tracing. This feature is not broadly
|
Enable utrace(2)-based allocation tracing. This feature is not broadly
|
||||||
portable (FreeBSD has it, but Linux and OS X do not).
|
portable (FreeBSD has it, but Linux and OS X do not).
|
||||||
|
@ -48,6 +48,7 @@ cfgoutputs_in := @cfgoutputs_in@
|
|||||||
cfgoutputs_out := @cfgoutputs_out@
|
cfgoutputs_out := @cfgoutputs_out@
|
||||||
enable_autogen := @enable_autogen@
|
enable_autogen := @enable_autogen@
|
||||||
enable_experimental := @enable_experimental@
|
enable_experimental := @enable_experimental@
|
||||||
|
enable_zone_allocator := @enable_zone_allocator@
|
||||||
DSO_LDFLAGS = @DSO_LDFLAGS@
|
DSO_LDFLAGS = @DSO_LDFLAGS@
|
||||||
SOREV = @SOREV@
|
SOREV = @SOREV@
|
||||||
PIC_CFLAGS = @PIC_CFLAGS@
|
PIC_CFLAGS = @PIC_CFLAGS@
|
||||||
@ -80,7 +81,7 @@ CSRCS := $(srcroot)src/jemalloc.c $(srcroot)src/arena.c $(srcroot)src/atomic.c \
|
|||||||
$(srcroot)src/mutex.c $(srcroot)src/prof.c $(srcroot)src/quarantine.c \
|
$(srcroot)src/mutex.c $(srcroot)src/prof.c $(srcroot)src/quarantine.c \
|
||||||
$(srcroot)src/rtree.c $(srcroot)src/stats.c $(srcroot)src/tcache.c \
|
$(srcroot)src/rtree.c $(srcroot)src/stats.c $(srcroot)src/tcache.c \
|
||||||
$(srcroot)src/util.c $(srcroot)src/tsd.c
|
$(srcroot)src/util.c $(srcroot)src/tsd.c
|
||||||
ifeq (macho, $(ABI))
|
ifeq ($(enable_zone_allocator), 1)
|
||||||
CSRCS += $(srcroot)src/zone.c
|
CSRCS += $(srcroot)src/zone.c
|
||||||
endif
|
endif
|
||||||
ifeq ($(IMPORTLIB),$(SO))
|
ifeq ($(IMPORTLIB),$(SO))
|
||||||
|
21
configure.ac
21
configure.ac
@ -1185,7 +1185,26 @@ fi
|
|||||||
dnl ============================================================================
|
dnl ============================================================================
|
||||||
dnl Darwin-related configuration.
|
dnl Darwin-related configuration.
|
||||||
|
|
||||||
if test "x${abi}" = "xmacho" ; then
|
AC_ARG_ENABLE([zone-allocator],
|
||||||
|
[AS_HELP_STRING([--disable-zone-allocator],
|
||||||
|
[Disable zone allocator for Darwin])],
|
||||||
|
[if test "x$enable_zone_allocator" = "xno" ; then
|
||||||
|
enable_zone_allocator="0"
|
||||||
|
else
|
||||||
|
enable_zone_allocator="1"
|
||||||
|
fi
|
||||||
|
],
|
||||||
|
[if test "x${abi}" = "xmacho"; then
|
||||||
|
enable_zone_allocator="1"
|
||||||
|
fi
|
||||||
|
]
|
||||||
|
)
|
||||||
|
AC_SUBST([enable_zone_allocator])
|
||||||
|
|
||||||
|
if test "x${enable_zone_allocator}" = "x1" ; then
|
||||||
|
if test "x${abi}" != "xmacho"; then
|
||||||
|
AC_MSG_ERROR([--enable-zone-allocator is only supported on Darwin])
|
||||||
|
fi
|
||||||
AC_DEFINE([JEMALLOC_IVSALLOC], [ ])
|
AC_DEFINE([JEMALLOC_IVSALLOC], [ ])
|
||||||
AC_DEFINE([JEMALLOC_ZONE], [ ])
|
AC_DEFINE([JEMALLOC_ZONE], [ ])
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user