Remove the sysv option.

This commit is contained in:
Jason Evans 2012-02-28 20:31:37 -08:00
parent f081b88dfb
commit c90ad71237
8 changed files with 7 additions and 113 deletions

View File

@ -108,11 +108,6 @@ any of the following arguments (not a definitive list) to 'configure':
errors, as is commonly implemented by "xmalloc" wrapper function for malloc. errors, as is commonly implemented by "xmalloc" wrapper function for malloc.
See the "opt.xmalloc" option documentation for usage details. See the "opt.xmalloc" option documentation for usage details.
--enable-sysv
Enable support for System V semantics, wherein malloc(0) returns NULL
rather than a minimal allocation. See the "opt.sysv" option documentation
for usage details.
--enable-lazy-lock --enable-lazy-lock
Enable code that wraps pthread_create() to detect when an application Enable code that wraps pthread_create() to detect when an application
switches from single-threaded to multi-threaded mode, so that it can avoid switches from single-threaded to multi-threaded mode, so that it can avoid

View File

@ -626,22 +626,6 @@ if test "x$enable_xmalloc" = "x1" ; then
fi fi
AC_SUBST([enable_xmalloc]) AC_SUBST([enable_xmalloc])
dnl Do not support the SYSV option by default.
AC_ARG_ENABLE([sysv],
[AS_HELP_STRING([--enable-sysv], [Support SYSV semantics option])],
[if test "x$enable_sysv" = "xno" ; then
enable_sysv="0"
else
enable_sysv="1"
fi
],
[enable_sysv="0"]
)
if test "x$enable_sysv" = "x1" ; then
AC_DEFINE([JEMALLOC_SYSV], [ ])
fi
AC_SUBST([enable_sysv])
AC_MSG_CHECKING([STATIC_PAGE_SHIFT]) AC_MSG_CHECKING([STATIC_PAGE_SHIFT])
AC_RUN_IFELSE([AC_LANG_PROGRAM( AC_RUN_IFELSE([AC_LANG_PROGRAM(
[[#include <stdio.h> [[#include <stdio.h>
@ -911,7 +895,6 @@ AC_MSG_RESULT([prof-gcc : ${enable_prof_gcc}])
AC_MSG_RESULT([tcache : ${enable_tcache}]) AC_MSG_RESULT([tcache : ${enable_tcache}])
AC_MSG_RESULT([fill : ${enable_fill}]) AC_MSG_RESULT([fill : ${enable_fill}])
AC_MSG_RESULT([xmalloc : ${enable_xmalloc}]) AC_MSG_RESULT([xmalloc : ${enable_xmalloc}])
AC_MSG_RESULT([sysv : ${enable_sysv}])
AC_MSG_RESULT([dss : ${enable_dss}]) AC_MSG_RESULT([dss : ${enable_dss}])
AC_MSG_RESULT([dynamic_page_shift : ${enable_dynamic_page_shift}]) AC_MSG_RESULT([dynamic_page_shift : ${enable_dynamic_page_shift}])
AC_MSG_RESULT([lazy_lock : ${enable_lazy_lock}]) AC_MSG_RESULT([lazy_lock : ${enable_lazy_lock}])

View File

@ -662,16 +662,6 @@ for (i = 0; i < nbins; i++) {
build configuration.</para></listitem> build configuration.</para></listitem>
</varlistentry> </varlistentry>
<varlistentry>
<term>
<mallctl>config.sysv</mallctl>
(<type>bool</type>)
<literal>r-</literal>
</term>
<listitem><para><option>--enable-sysv</option> was specified during
build configuration.</para></listitem>
</varlistentry>
<varlistentry> <varlistentry>
<term> <term>
<mallctl>config.tcache</mallctl> <mallctl>config.tcache</mallctl>
@ -808,22 +798,6 @@ for (i = 0; i < nbins; i++) {
</para></listitem> </para></listitem>
</varlistentry> </varlistentry>
<varlistentry id="opt.sysv">
<term>
<mallctl>opt.sysv</mallctl>
(<type>bool</type>)
<literal>r-</literal>
[<option>--enable-sysv</option>]
</term>
<listitem><para>If enabled, attempting to allocate zero bytes will
return a <constant>NULL</constant> pointer instead of a valid pointer.
(The default behavior is to make a minimal allocation and return a
pointer to it.) This option is provided for System V compatibility.
This option is incompatible with the <link
linkend="opt.xmalloc"><mallctl>opt.xmalloc</mallctl></link> option.
This option is disabled by default.</para></listitem>
</varlistentry>
<varlistentry id="opt.xmalloc"> <varlistentry id="opt.xmalloc">
<term> <term>
<mallctl>opt.xmalloc</mallctl> <mallctl>opt.xmalloc</mallctl>

View File

@ -104,13 +104,6 @@ static const bool config_stats =
false false
#endif #endif
; ;
static const bool config_sysv =
#ifdef JEMALLOC_SYSV
true
#else
false
#endif
;
static const bool config_tcache = static const bool config_tcache =
#ifdef JEMALLOC_TCACHE #ifdef JEMALLOC_TCACHE
true true
@ -385,7 +378,6 @@ typedef struct {
extern bool opt_abort; extern bool opt_abort;
extern bool opt_junk; extern bool opt_junk;
extern bool opt_sysv;
extern bool opt_xmalloc; extern bool opt_xmalloc;
extern bool opt_zero; extern bool opt_zero;
extern size_t opt_narenas; extern size_t opt_narenas;

View File

@ -98,9 +98,6 @@
/* Support optional abort() on OOM. */ /* Support optional abort() on OOM. */
#undef JEMALLOC_XMALLOC #undef JEMALLOC_XMALLOC
/* Support SYSV semantics. */
#undef JEMALLOC_SYSV
/* Support lazy locking (avoid locking unless a second thread is launched). */ /* Support lazy locking (avoid locking unless a second thread is launched). */
#undef JEMALLOC_LAZY_LOCK #undef JEMALLOC_LAZY_LOCK

View File

@ -53,7 +53,6 @@ CTL_PROTO(config_prof)
CTL_PROTO(config_prof_libgcc) CTL_PROTO(config_prof_libgcc)
CTL_PROTO(config_prof_libunwind) CTL_PROTO(config_prof_libunwind)
CTL_PROTO(config_stats) CTL_PROTO(config_stats)
CTL_PROTO(config_sysv)
CTL_PROTO(config_tcache) CTL_PROTO(config_tcache)
CTL_PROTO(config_tls) CTL_PROTO(config_tls)
CTL_PROTO(config_xmalloc) CTL_PROTO(config_xmalloc)
@ -64,7 +63,6 @@ CTL_PROTO(opt_lg_dirty_mult)
CTL_PROTO(opt_stats_print) CTL_PROTO(opt_stats_print)
CTL_PROTO(opt_junk) CTL_PROTO(opt_junk)
CTL_PROTO(opt_zero) CTL_PROTO(opt_zero)
CTL_PROTO(opt_sysv)
CTL_PROTO(opt_xmalloc) CTL_PROTO(opt_xmalloc)
CTL_PROTO(opt_tcache) CTL_PROTO(opt_tcache)
CTL_PROTO(opt_lg_tcache_gc_sweep) CTL_PROTO(opt_lg_tcache_gc_sweep)
@ -174,7 +172,6 @@ static const ctl_node_t config_node[] = {
{NAME("prof_libgcc"), CTL(config_prof_libgcc)}, {NAME("prof_libgcc"), CTL(config_prof_libgcc)},
{NAME("prof_libunwind"), CTL(config_prof_libunwind)}, {NAME("prof_libunwind"), CTL(config_prof_libunwind)},
{NAME("stats"), CTL(config_stats)}, {NAME("stats"), CTL(config_stats)},
{NAME("sysv"), CTL(config_sysv)},
{NAME("tcache"), CTL(config_tcache)}, {NAME("tcache"), CTL(config_tcache)},
{NAME("tls"), CTL(config_tls)}, {NAME("tls"), CTL(config_tls)},
{NAME("xmalloc"), CTL(config_xmalloc)} {NAME("xmalloc"), CTL(config_xmalloc)}
@ -188,7 +185,6 @@ static const ctl_node_t opt_node[] = {
{NAME("stats_print"), CTL(opt_stats_print)}, {NAME("stats_print"), CTL(opt_stats_print)},
{NAME("junk"), CTL(opt_junk)}, {NAME("junk"), CTL(opt_junk)},
{NAME("zero"), CTL(opt_zero)}, {NAME("zero"), CTL(opt_zero)},
{NAME("sysv"), CTL(opt_sysv)},
{NAME("xmalloc"), CTL(opt_xmalloc)}, {NAME("xmalloc"), CTL(opt_xmalloc)},
{NAME("tcache"), CTL(opt_tcache)}, {NAME("tcache"), CTL(opt_tcache)},
{NAME("lg_tcache_gc_sweep"), CTL(opt_lg_tcache_gc_sweep)}, {NAME("lg_tcache_gc_sweep"), CTL(opt_lg_tcache_gc_sweep)},
@ -1058,7 +1054,6 @@ CTL_RO_BOOL_CONFIG_GEN(config_prof)
CTL_RO_BOOL_CONFIG_GEN(config_prof_libgcc) CTL_RO_BOOL_CONFIG_GEN(config_prof_libgcc)
CTL_RO_BOOL_CONFIG_GEN(config_prof_libunwind) CTL_RO_BOOL_CONFIG_GEN(config_prof_libunwind)
CTL_RO_BOOL_CONFIG_GEN(config_stats) CTL_RO_BOOL_CONFIG_GEN(config_stats)
CTL_RO_BOOL_CONFIG_GEN(config_sysv)
CTL_RO_BOOL_CONFIG_GEN(config_tcache) CTL_RO_BOOL_CONFIG_GEN(config_tcache)
CTL_RO_BOOL_CONFIG_GEN(config_tls) CTL_RO_BOOL_CONFIG_GEN(config_tls)
CTL_RO_BOOL_CONFIG_GEN(config_xmalloc) CTL_RO_BOOL_CONFIG_GEN(config_xmalloc)
@ -1072,7 +1067,6 @@ CTL_RO_NL_GEN(opt_lg_dirty_mult, opt_lg_dirty_mult, ssize_t)
CTL_RO_NL_GEN(opt_stats_print, opt_stats_print, bool) CTL_RO_NL_GEN(opt_stats_print, opt_stats_print, bool)
CTL_RO_NL_CGEN(config_fill, opt_junk, opt_junk, bool) CTL_RO_NL_CGEN(config_fill, opt_junk, opt_junk, bool)
CTL_RO_NL_CGEN(config_fill, opt_zero, opt_zero, bool) CTL_RO_NL_CGEN(config_fill, opt_zero, opt_zero, bool)
CTL_RO_NL_CGEN(config_sysv, opt_sysv, opt_sysv, bool)
CTL_RO_NL_CGEN(config_xmalloc, opt_xmalloc, opt_xmalloc, bool) CTL_RO_NL_CGEN(config_xmalloc, opt_xmalloc, opt_xmalloc, bool)
CTL_RO_NL_CGEN(config_tcache, opt_tcache, opt_tcache, bool) CTL_RO_NL_CGEN(config_tcache, opt_tcache, opt_tcache, bool)
CTL_RO_NL_CGEN(config_tcache, opt_lg_tcache_gc_sweep, opt_lg_tcache_gc_sweep, CTL_RO_NL_CGEN(config_tcache, opt_lg_tcache_gc_sweep, opt_lg_tcache_gc_sweep,

View File

@ -48,7 +48,6 @@ bool opt_junk = false;
bool opt_abort = false; bool opt_abort = false;
bool opt_junk = false; bool opt_junk = false;
#endif #endif
bool opt_sysv = false;
bool opt_xmalloc = false; bool opt_xmalloc = false;
bool opt_zero = false; bool opt_zero = false;
size_t opt_narenas = 0; size_t opt_narenas = 0;
@ -575,9 +574,6 @@ malloc_conf_init(void)
CONF_HANDLE_BOOL(junk) CONF_HANDLE_BOOL(junk)
CONF_HANDLE_BOOL(zero) CONF_HANDLE_BOOL(zero)
} }
if (config_sysv) {
CONF_HANDLE_BOOL(sysv)
}
if (config_xmalloc) { if (config_xmalloc) {
CONF_HANDLE_BOOL(xmalloc) CONF_HANDLE_BOOL(xmalloc)
} }
@ -854,19 +850,8 @@ JEMALLOC_P(malloc)(size_t size)
goto OOM; goto OOM;
} }
if (size == 0) { if (size == 0)
if (config_sysv == false || opt_sysv == false) size = 1;
size = 1;
else {
if (config_xmalloc && opt_xmalloc) {
malloc_write("<jemalloc>: Error in malloc(): "
"invalid size 0\n");
abort();
}
ret = NULL;
goto RETURN;
}
}
if (config_prof && opt_prof) { if (config_prof && opt_prof) {
usize = s2u(size); usize = s2u(size);
@ -931,22 +916,8 @@ imemalign(void **memptr, size_t alignment, size_t size)
if (malloc_init()) if (malloc_init())
result = NULL; result = NULL;
else { else {
if (size == 0) { if (size == 0)
if (config_sysv == false || opt_sysv == false) size = 1;
size = 1;
else {
if (config_xmalloc && opt_xmalloc) {
malloc_write("<jemalloc>: Error in "
"posix_memalign(): invalid size "
"0\n");
abort();
}
result = NULL;
*memptr = NULL;
ret = 0;
goto RETURN;
}
}
/* Make sure that alignment is a large enough power of 2. */ /* Make sure that alignment is a large enough power of 2. */
if (((alignment - 1) & alignment) != 0 if (((alignment - 1) & alignment) != 0
@ -1047,8 +1018,7 @@ JEMALLOC_P(calloc)(size_t num, size_t size)
num_size = num * size; num_size = num * size;
if (num_size == 0) { if (num_size == 0) {
if ((config_sysv == false || opt_sysv == false) if (num == 0 || size == 0)
&& ((num == 0) || (size == 0)))
num_size = 1; num_size = 1;
else { else {
ret = NULL; ret = NULL;
@ -1135,18 +1105,8 @@ JEMALLOC_P(realloc)(void *ptr, size_t size)
idalloc(ptr); idalloc(ptr);
ret = NULL; ret = NULL;
goto RETURN; goto RETURN;
} else { } else
if (config_sysv == false || opt_sysv == false) size = 1;
size = 1;
else {
if (config_prof && opt_prof) {
old_ctx = NULL;
cnt = NULL;
}
ret = NULL;
goto RETURN;
}
}
} }
if (ptr != NULL) { if (ptr != NULL) {

View File

@ -489,7 +489,6 @@ stats_print(void (*write_cb)(void *, const char *), void *cbopaque,
OPT_WRITE_BOOL(stats_print) OPT_WRITE_BOOL(stats_print)
OPT_WRITE_BOOL(junk) OPT_WRITE_BOOL(junk)
OPT_WRITE_BOOL(zero) OPT_WRITE_BOOL(zero)
OPT_WRITE_BOOL(sysv)
OPT_WRITE_BOOL(xmalloc) OPT_WRITE_BOOL(xmalloc)
OPT_WRITE_BOOL(tcache) OPT_WRITE_BOOL(tcache)
OPT_WRITE_SSIZE_T(lg_tcache_gc_sweep) OPT_WRITE_SSIZE_T(lg_tcache_gc_sweep)