Files
roytam1 8e21711781 import changes from `dev' branch of rmottola/Arctic-Fox:
- remove some hacks (5a020c69f1)
- fix misspatch in 1188129 (3f533c3b35)
- pointer style (c001547d31)
- No bug - Fix typo in MissingScopeKey comment. No review. (bdddaf5243)
- pointer style (d29bf7eddc)
- Bug 1201051 - Add ObjectWeakMap::init() rather than crashing in constructor on OOM r=terrence (632b865197)
- Bug 1193039 - Fix assertion failure related to ObjectValueMap and OOM r=terrence (7110da6cee)
- pointer style and spaces (30193d1c6b)
- Bug 1205255 - Force inline and use relaxed atomic. r=terrence (c14013330f)
- Bug 1206300 - Allow immutable prototypes to be disabled at compile time with a single-line change, but don't actually disable them. r=jorendorff (f61ff0c6ab)
- Bug 1195058 - Handle pa_context_new returning NULL in OOM situations. r=padenot (93c2acd8c9)
- Bug 1144087 - "Audio glitches on OpenBSD caused by rounding errors." r=kinetik (ff963727a9)
- apply/partially revert to   Bug 979705 - Re-write the upmixing functions in the WASAPI cubeb backend to fix mono audio and surround compatibility. r=padenot (9dda58fe7f)
- Bug 1195061 - Correctly restore audio hardware mix format after attempting to use an alternative format. r=padenot (c971f0f27a)
- Bug 1197049 - Retain stream volume across device changes. r=padenot (c8631d230b)
- Bug 1199794 - Add NULL checks to avoid crashing during media playback if the audio device removed. r=padenot (2f70698942)
- Bug 1204913 - IonMonkey: MIPS32: Fix build erros in defineSinCos. r=sunfish (70235d955b)
- fix misspatch and pointer style (6d732302ae)
- Missing bit of Bug 1141121 (3ba5331859)
- Bug 1176288 - Part 3: Rename CompareV to CompareBitwise, r=jandem (790ee9496d)
- pointer style (ec9e8c4c35)
- Bug 1135047 - IonMonkey: Fix range before bailouts of MToInt32, r=nbp,sunfish (c6732433d0)
- Bug 1105574 - Range Analysis: Keep folded bitwise instructions alive for bailouts. r=sunfish (5e31e0f772)
- Bug 1135047 - IonMonkey: Use output range when taking range from operands, r=nbp,sunfish (67d297dbae)
- Bug 1201459: IonMonkey - Fix typepolicy of MFilterTypeSet with MIRType_Float32, r=bbouvier,nbp (9c25aa23e1)
- Bug 1204073 - Optimize GETELEM with constant string-or-symbol index better in Ion. r=bhackett (9d8acd6d87)
- pointer style (3d06794b72)
- misspatch (88b8faeda5)
- Bug 1187511 - IonMonkey: Refine type sets for unbox operations based on unbox type r=jandem (42effad799)
- Bug 1188586 - Temporarily disable recovery of MPow to unblock fuzzers. (rs=jandem) (322fa7267c)
- Bug 1186424: Get rid of the tokenStream in the ModuleCompiler; r=luke (736c957b1a)
- Bug 1186424: Remove usage of ExclusiveContext from the ModuleCompiler; r=luke (502be345de)
- Bug 1186424: Remove perf blocks annotations in OdinMonkey; r=luke (cedf212c9c)
- pointer style (746fb0ec36)
- Bug 1199719 werr.2 - Remove some of the uninitialized variable noise. r=bbouvier (07cde27868)
- code style (30fb139d82)
- Bug 1146895 - Remove redundant __asan_default_options from JS shell. r=jandem (da2b735b57)
- Bug 1176240: IonMonkey: Try to fold phis containing MFilterTypeSet, r=nbp (eea905a46f)
- pointer style (406a7024db)
- Bug 1181142 - Part 2: Make the minimum jemalloc4 allocation size 16 bytes on Windows 64. r=glandium (a7838e7b97)
- Bug 1176313. Reland the changes to make Attr handling follow the spec again. This is a relanding of bug 1075702, effectively. r=smaug (958248e30d)
- Bug 1205424 - Use swap instead of NS_RELEASE in UnbindFromTree. r=baku (b2be0ec231)
- bug 1171072 - make libcubeb build on iOS. r=kinetik (0edfad1a4a)
2022-02-24 09:21:37 +08:00

106 lines
4.2 KiB
Plaintext

dnl This Source Code Form is subject to the terms of the Mozilla Public
dnl License, v. 2.0. If a copy of the MPL was not distributed with this
dnl file, You can obtain one at http://mozilla.org/MPL/2.0/.
AC_DEFUN([MOZ_SUBCONFIGURE_JEMALLOC], [
if test -z "$BUILDING_JS" -o -n "$JS_STANDALONE"; then
# Run jemalloc configure script
if test -z "$MOZ_NATIVE_JEMALLOC" -a "$MOZ_MEMORY" && test -n "$MOZ_JEMALLOC4" -o -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.
ac_configure_args="$ac_configure_args ac_cv_func_memalign=yes"
if test -n "$MOZ_REPLACE_MALLOC"; then
# When using replace_malloc, we always want valloc exported from jemalloc.
ac_configure_args="$ac_configure_args ac_cv_func_valloc=yes"
if test "${OS_ARCH}" = Darwin; then
# We also need to enable pointer validation on Mac because jemalloc's
# zone allocator is not used.
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
if test -n "$MANGLE"; then
MANGLED=
for mangle in ${MANGLE}; do
if test -n "$MANGLED"; then
MANGLED="$mangle:$JEMALLOC_WRAPPER$mangle,$MANGLED"
else
MANGLED="$mangle:$JEMALLOC_WRAPPER$mangle"
fi
done
ac_configure_args="$ac_configure_args --with-mangling=$MANGLED"
fi
unset CONFIG_FILES
if test -z "$MOZ_TLS"; then
ac_configure_args="$ac_configure_args --disable-tls"
fi
EXTRA_CFLAGS="$CFLAGS"
for var in AS CC CXX CPP LD AR RANLIB STRIP CPPFLAGS EXTRA_CFLAGS LDFLAGS; do
ac_configure_args="$ac_configure_args $var='`eval echo \\${${var}}`'"
done
# Force disable DSS support in jemalloc.
ac_configure_args="$ac_configure_args ac_cv_func_sbrk=false"
# Make Linux builds munmap freed chunks instead of recycling them.
ac_configure_args="$ac_configure_args --enable-munmap"
# Disable cache oblivious behavior that appears to have a performance
# impact on Firefox.
ac_configure_args="$ac_configure_args --disable-cache-oblivious"
if ! test -e memory/jemalloc; then
mkdir -p memory/jemalloc
fi
# jemalloc's configure runs git to determine the version. But when building
# from a gecko git clone, the git commands it uses is going to pick gecko's
# information, not jemalloc's, which is useless. So pretend we don't have git
# at all. That will make jemalloc's configure pick the in-tree VERSION file.
(PATH="$srcdir/memory/jemalloc/helper:$PATH";
AC_OUTPUT_SUBDIRS(memory/jemalloc/src)
) || exit 1
ac_configure_args="$_SUBDIR_CONFIG_ARGS"
fi
fi
])