Bug 1083464 - Use a more standard mechanism to export GC symbols to embedders. r=ted, r=jorendorff, a=bkerensa
--- a/browser/confvars.sh
+++ b/browser/confvars.sh
@@ -62,9 +62,9 @@ fi
MOZ_WEBGL_CONFORMANT=1
# Enable navigator.mozPay
MOZ_PAY=1
# Enable activities. These are used for FxOS developers currently.
MOZ_ACTIVITIES=1
MOZ_JSDOWNLOADS=1
MOZ_WEBM_ENCODER=1
# Enable exact rooting on desktop.
-JSGC_USE_EXACT_ROOTING=1
+export JSGC_USE_EXACT_ROOTING=1
--- a/configure.in
+++ b/configure.in
@@ -3987,17 +3987,16 @@ MOZ_ANDROID_BEAM=
MOZ_ANDROID_SYNTHAPKS=
ACCESSIBILITY=1
MOZ_TIME_MANAGER=
MOZ_PAY=
MOZ_AUDIO_CHANNEL_MANAGER=
NSS_NO_LIBPKIX=
MOZ_CONTENT_SANDBOX=
MOZ_CONTENT_SANDBOX_REPORTER=1
-JSGC_USE_EXACT_ROOTING=
case "$target_os" in
mingw*)
NS_ENABLE_TSF=1
AC_DEFINE(NS_ENABLE_TSF)
;;
esac
@@ -7191,71 +7190,16 @@ MOZ_ARG_ENABLE_BOOL(js-diagnostics,
[ --enable-js-diagnostics
Enable JS diagnostic assertions and breakpad data],
JS_CRASH_DIAGNOSTICS=1,
JS_CRASH_DIAGNOSTICS= )
if test -n "$JS_CRASH_DIAGNOSTICS"; then
AC_DEFINE(JS_CRASH_DIAGNOSTICS)
fi
-dnl ========================================================
-dnl = Use incremental GC
-dnl ========================================================
-JSGC_INCREMENTAL=1
-MOZ_ARG_DISABLE_BOOL(gcincremental,
-[ --disable-gcincremental Disable incremental GC],
- JSGC_INCREMENTAL= )
-if test -n "$JSGC_INCREMENTAL"; then
- AC_DEFINE(JSGC_INCREMENTAL)
-fi
-
-dnl ========================================================
-dnl = Use exact stack rooting for GC
-dnl ========================================================
-MOZ_ARG_DISABLE_BOOL(exact-rooting,
-[ --disable-exact-rooting Enable use of conservative stack scanning for GC],
- JSGC_USE_EXACT_ROOTING= ,
- JSGC_USE_EXACT_ROOTING=1 )
-if test -n "$JSGC_USE_EXACT_ROOTING"; then
- AC_DEFINE(JSGC_USE_EXACT_ROOTING)
-fi
-
-dnl ========================================================
-dnl = Use generational GC
-dnl ========================================================
-MOZ_ARG_ENABLE_BOOL(gcgenerational,
-[ --enable-gcgenerational Enable generational GC],
- JSGC_GENERATIONAL=1,
- JSGC_GENERATIONAL= )
-if test -n "$JSGC_GENERATIONAL"; then
- AC_DEFINE(JSGC_GENERATIONAL)
-fi
-
-dnl ========================================================
-dnl Zealous JavaScript GC
-dnl ========================================================
-MOZ_ARG_ENABLE_BOOL(gczeal,
-[ --enable-gczeal Enable zealous JavaScript GCing],
- JS_GC_ZEAL=1,
- JS_GC_ZEAL= )
-if test -n "$JS_GC_ZEAL" -o -n "$MOZ_DEBUG"; then
- AC_DEFINE(JS_GC_ZEAL)
-fi
-
-dnl ========================================================
-dnl = Perform moving GC stack rooting analysis
-dnl ========================================================
-MOZ_ARG_ENABLE_BOOL(root-analysis,
-[ --enable-root-analysis Enable moving GC stack root analysis],
- JSGC_ROOT_ANALYSIS=1,
- JSGC_ROOT_ANALYSIS= )
-if test -n "$JSGC_ROOT_ANALYSIS"; then
- AC_DEFINE(JSGC_ROOT_ANALYSIS)
-fi
-
MOZ_CHECK_CCACHE
dnl ========================================================
dnl = Enable static checking using gcc-dehydra
dnl ========================================================
MOZ_ARG_WITH_STRING(static-checking,
[ --with-static-checking=path/to/gcc_dehydra.so
@@ -9247,19 +9191,16 @@ if test "$BUILD_CTYPES"; then
ac_configure_args="$ac_configure_args --enable-ctypes"
fi
if test -z "$JS_SHARED_LIBRARY" ; then
ac_configure_args="$ac_configure_args --disable-shared-js"
if test -n "$MOZ_DISABLE_EXPORT_JS"; then
ac_configure_args="$ac_configure_args --disable-export-js"
fi
fi
-if test -z "$JSGC_USE_EXACT_ROOTING" ; then
- ac_configure_args="$ac_configure_args --disable-exact-rooting"
-fi
if test -z "$MOZ_NATIVE_NSPR"; then
ac_configure_args="$ac_configure_args --with-nspr-cflags='$NSPR_CFLAGS'"
ac_configure_args="$ac_configure_args --with-nspr-libs='$NSPR_LIBS'"
fi
ac_configure_args="$ac_configure_args --prefix=$dist"
if test "$MOZ_MEMORY"; then
ac_configure_args="$ac_configure_args --enable-jemalloc"
fi
--- a/js/src/js-config.h.in
+++ b/js/src/js-config.h.in
@@ -23,16 +23,25 @@
/* Define to 1 if SpiderMonkey should include ctypes support. */
#undef JS_HAS_CTYPES
/* Define to 1 if SpiderMonkey should support the ability to perform
entirely too much GC. */
#undef JS_GC_ZEAL
+/* Define to 1 if SpiderMonkey should use Incremental GC. */
+#undef JSGC_INCREMENTAL
+
+/* Define to 1 if SpiderMonkey should use Generational GC. */
+#undef JSGC_GENERATIONAL
+
+/* Define to 1 if SpiderMonkey should use Compacting GC. */
+#undef JSGC_COMPACTING
+
/* Define to 1 if the <endian.h> header is present and
useable. See jscpucfg.h. */
#undef JS_HAVE_ENDIAN_H
/* Define to 1 if the <machine/endian.h> header is present and
useable. See jscpucfg.h. */
#undef JS_HAVE_MACHINE_ENDIAN_H