Bug 650161 - Add --enable-gccompacting configure flag for compacting GC r=terrence r=ted
☠☠ backed out by 0a194d9191bb ☠ ☠
authorJon Coppeard <jcoppeard@mozilla.com>
Thu, 14 Aug 2014 11:46:26 +0100
changeset 199444 297ca183fff9f273ebd7b7c814f981326380c6d8
parent 199443 dc66d16f19c8af65c9ab632dd3b04f473eead229
child 199445 c965ceb8b24a0b92bd98d078ce786395f12ea748
push id47653
push userjcoppeard@mozilla.com
push dateThu, 14 Aug 2014 11:02:51 +0000
treeherdermozilla-inbound@8d1e96d1eb31 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersterrence, ted
bugs650161
milestone34.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 650161 - Add --enable-gccompacting configure flag for compacting GC r=terrence r=ted
configure.in
js/src/configure.in
--- a/configure.in
+++ b/configure.in
@@ -7144,16 +7144,27 @@ MOZ_ARG_DISABLE_BOOL(gcgenerational,
 [  --disable-gcgenerational Disable generational GC],
     JSGC_GENERATIONAL= ,
     JSGC_GENERATIONAL=1 )
 if test -n "$JSGC_GENERATIONAL"; then
     AC_DEFINE(JSGC_GENERATIONAL)
 fi
 
 dnl ========================================================
+dnl = Use compacting GC
+dnl ========================================================
+MOZ_ARG_ENABLE_BOOL(gccompacting,
+[  --enable-gccompacting   Compact the JS heap by moving GC things],
+    JS_GCCOMPACTING=1,
+    JS_GCCOMPACTING= )
+if test -n "$JS_GCCOMPACTING"; then
+    AC_DEFINE(JS_GCCOMPACTING)
+fi
+
+dnl ========================================================
 dnl = Use a smaller chunk size for GC chunks
 dnl ========================================================
 MOZ_ARG_ENABLE_BOOL(small-chunk-size,
 [  --enable-small-chunk-size  Allocate memory for JS GC things in smaller chunks],
     JS_GC_SMALL_CHUNK_SIZE=1,
     JS_GC_SMALL_CHUNK_SIZE= )
 if test -n "$JS_GC_SMALL_CHUNK_SIZE"; then
     AC_DEFINE(JS_GC_SMALL_CHUNK_SIZE)
@@ -9104,16 +9115,19 @@ if test -z "$JS_SHARED_LIBRARY" ; then
     fi
 fi
 if test -z "$JSGC_USE_EXACT_ROOTING" ; then
     ac_configure_args="$ac_configure_args --disable-exact-rooting"
 fi
 if test -z "$JSGC_GENERATIONAL" ; then
     ac_configure_args="$ac_configure_args --disable-gcgenerational"
 fi
+if test -n "$JS_GCCOMPACTING" ; then
+    ac_configure_args="$ac_configure_args --enable-gccompacting"
+fi
 if test -n "$JS_GC_SMALL_CHUNK_SIZE" ; then
     ac_configure_args="$ac_configure_args --enable-small-chunk-size"
 fi
 if test -n "$NSPR_CFLAGS" -o -n "$NSPR_LIBS"; 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"
--- a/js/src/configure.in
+++ b/js/src/configure.in
@@ -3110,16 +3110,28 @@ 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 compacting GC
+dnl ========================================================
+dnl Compact the heap by moving GC things when doing a shrinking colletion.
+MOZ_ARG_ENABLE_BOOL(gccompacting,
+[  --enable-gccompacting   Compact the heap by moving GC things],
+    JSGC_COMPACTING=1,
+    JSGC_COMPACTING= )
+if test -n "$JSGC_COMPACTING"; then
+    AC_DEFINE(JSGC_COMPACTING)
+fi
+
+dnl ========================================================
 dnl = Use a smaller chunk size for GC chunks
 dnl ========================================================
 dnl Use large (1MB) chunks by default.  For B2G this option is used to give
 dnl smaller (currently 256K) chunks.
 MOZ_ARG_ENABLE_BOOL(small-chunk-size,
 [  --enable-small-chunk-size  Allocate memory for JS GC things in smaller chunks],
     JS_GC_SMALL_CHUNK_SIZE=1,
     JS_GC_SMALL_CHUNK_SIZE= )