mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-29 11:57:32 +09:00
Remove support for making jemalloc4 the default memory allocator.
This commit is contained in:
parent
c76d18a40d
commit
797ca533f9
12 changed files with 32 additions and 439 deletions
|
|
@ -8,7 +8,7 @@ if test "$MOZ_BUILD_APP" != js -o -n "$JS_STANDALONE"; then
|
|||
|
||||
# Run jemalloc configure script
|
||||
|
||||
if test "$MOZ_MEMORY" && test -n "$MOZ_JEMALLOC4" -o -n "$MOZ_REPLACE_MALLOC"; then
|
||||
if test "$MOZ_MEMORY" && test -n "$MOZ_REPLACE_MALLOC"; then
|
||||
ac_configure_args="--build=$build --host=$target --enable-stats --with-jemalloc-prefix=je_ --disable-valgrind"
|
||||
# We're using memalign for _aligned_malloc in memory/build/mozmemory_wrap.c
|
||||
# on Windows, so just export memalign on all platforms.
|
||||
|
|
@ -22,41 +22,8 @@ if test "$MOZ_BUILD_APP" != js -o -n "$JS_STANDALONE"; then
|
|||
ac_configure_args="$ac_configure_args --enable-ivsalloc"
|
||||
fi
|
||||
fi
|
||||
if test -n "$MOZ_JEMALLOC4"; then
|
||||
case "${OS_ARCH}" in
|
||||
WINNT|Darwin)
|
||||
# We want jemalloc functions to be kept hidden on both Mac and Windows
|
||||
# See memory/build/mozmemory_wrap.h for details.
|
||||
ac_configure_args="$ac_configure_args --without-export"
|
||||
;;
|
||||
esac
|
||||
if test "${OS_ARCH}" = WINNT; then
|
||||
# Lazy lock initialization doesn't play well with lazy linking of
|
||||
# mozglue.dll on Windows XP (leads to startup crash), so disable it.
|
||||
ac_configure_args="$ac_configure_args --disable-lazy-lock"
|
||||
|
||||
# 64-bit Windows builds require a minimum 16-byte alignment.
|
||||
if test -n "$HAVE_64BIT_BUILD"; then
|
||||
ac_configure_args="$ac_configure_args --with-lg-tiny-min=4"
|
||||
fi
|
||||
fi
|
||||
elif test "${OS_ARCH}" = Darwin; then
|
||||
# When building as a replace-malloc lib, disabling the zone allocator
|
||||
# forces to use pthread_atfork.
|
||||
ac_configure_args="$ac_configure_args --disable-zone-allocator"
|
||||
fi
|
||||
_MANGLE="malloc posix_memalign aligned_alloc calloc realloc free memalign valloc malloc_usable_size"
|
||||
JEMALLOC_WRAPPER=
|
||||
if test -z "$MOZ_REPLACE_MALLOC"; then
|
||||
case "$OS_ARCH" in
|
||||
Linux|DragonFly|FreeBSD|NetBSD|OpenBSD)
|
||||
MANGLE=$_MANGLE
|
||||
;;
|
||||
esac
|
||||
elif test -z "$MOZ_JEMALLOC4"; then
|
||||
MANGLE=$_MANGLE
|
||||
JEMALLOC_WRAPPER=replace_
|
||||
fi
|
||||
MANGLE="malloc posix_memalign aligned_alloc calloc realloc free memalign valloc malloc_usable_size"
|
||||
JEMALLOC_WRAPPER=replace_
|
||||
if test -n "$MANGLE"; then
|
||||
MANGLED=
|
||||
for mangle in ${MANGLE}; do
|
||||
|
|
|
|||
|
|
@ -5,12 +5,13 @@
|
|||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
|
||||
option(env='MOZ_JEMALLOC4', help='Enable jemalloc 4')
|
||||
imply_option('--enable-jemalloc', depends_if('MOZ_JEMALLOC4')(lambda x: '4'))
|
||||
@deprecated_option(env='MOZ_JEMALLOC4')
|
||||
def moz_jemalloc4(value):
|
||||
die('MOZ_JEMALLOC4 is no longer supported')
|
||||
|
||||
|
||||
option('--enable-jemalloc', nargs='?', choices=('4', 'moz'), env='MOZ_MEMORY',
|
||||
help='Replace memory allocator with jemalloc')
|
||||
option('--enable-jemalloc', env='MOZ_MEMORY',
|
||||
help='Replace system memory allocator with jemalloc')
|
||||
|
||||
@depends('--enable-jemalloc', target, build_project, c_compiler)
|
||||
def jemalloc(value, target, build_project, c_compiler):
|
||||
|
|
@ -30,36 +31,25 @@ def jemalloc(value, target, build_project, c_compiler):
|
|||
if target.kernel == 'Linux':
|
||||
return True
|
||||
|
||||
@depends('--enable-jemalloc')
|
||||
def jemalloc4(jemalloc):
|
||||
if len(jemalloc) and jemalloc[0] == '4':
|
||||
return True
|
||||
|
||||
|
||||
set_config('MOZ_MEMORY', jemalloc)
|
||||
set_define('MOZ_MEMORY', jemalloc)
|
||||
add_old_configure_assignment('MOZ_MEMORY', jemalloc)
|
||||
|
||||
set_config('MOZ_JEMALLOC4', jemalloc4)
|
||||
set_define('MOZ_JEMALLOC4', jemalloc4)
|
||||
add_old_configure_assignment('MOZ_JEMALLOC4', jemalloc4)
|
||||
|
||||
|
||||
# Because --enable-jemalloc doesn't use a default because of the dependency
|
||||
# on the target, we can't use a js_option for it to propagate to js/src
|
||||
# through the old-configure.
|
||||
@depends(jemalloc, jemalloc4)
|
||||
def jemalloc_for_old_configure(jemalloc, jemalloc4):
|
||||
if jemalloc:
|
||||
return '--enable-jemalloc=4' if jemalloc4 else '--enable-jemalloc'
|
||||
return '--disable-jemalloc'
|
||||
@depends(jemalloc)
|
||||
def jemalloc_for_old_configure(jemalloc):
|
||||
return '--%s-jemalloc' % ('enable' if jemalloc else 'disable')
|
||||
|
||||
add_old_configure_arg(jemalloc_for_old_configure)
|
||||
|
||||
|
||||
@depends(jemalloc, jemalloc4, target)
|
||||
def jemalloc_os_define(jemalloc, jemalloc4, target):
|
||||
if jemalloc and not jemalloc4:
|
||||
@depends(jemalloc, target)
|
||||
def jemalloc_os_define(jemalloc, target):
|
||||
if jemalloc:
|
||||
if target.kernel == 'WINNT':
|
||||
return 'MOZ_MEMORY_WINDOWS'
|
||||
if target.kernel == 'Linux':
|
||||
|
|
@ -72,9 +62,9 @@ def jemalloc_os_define(jemalloc, jemalloc4, target):
|
|||
|
||||
set_define(jemalloc_os_define, '1')
|
||||
|
||||
@depends(jemalloc, jemalloc4, target)
|
||||
def jemalloc_os_define_android(jemalloc, jemalloc4, target):
|
||||
if jemalloc and not jemalloc4 and target.os == 'Android':
|
||||
@depends(jemalloc, target)
|
||||
def jemalloc_os_define_android(jemalloc, target):
|
||||
if jemalloc and target.os == 'Android':
|
||||
return 'MOZ_MEMORY_ANDROID'
|
||||
|
||||
set_define(jemalloc_os_define_android, '1')
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue