Bug 924986 - Make threadsafe builds the default for spidermonkey; sr=jorendorff,r=gps
authorTerrence Cole <terrence@mozilla.com>
Wed, 09 Oct 2013 10:03:38 -0700
changeset 164894 07606a1ebf5dd5f2468c50067966c224ab0af96b
parent 164893 1496fdb1d4b5f7141e37045e0b85f6dee11bbce5
child 164895 cdf1843edbcca8c1670b40591ed341e2217993f4
push id3066
push userakeybl@mozilla.com
push dateMon, 09 Dec 2013 19:58:46 +0000
treeherdermozilla-beta@a31a0dce83aa [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersjorendorff, gps
bugs924986
milestone27.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 924986 - Make threadsafe builds the default for spidermonkey; sr=jorendorff,r=gps
js/src/configure.in
js/src/jit-test/tests/basic/testBug756919.js
js/src/jit-test/tests/basic/testBug840012.js
--- a/js/src/configure.in
+++ b/js/src/configure.in
@@ -4071,21 +4071,23 @@ dnl ====================================
 
 if test "$OS_ARCH" = "Darwin"; then
   AC_DEFINE(XP_MACOSX)
   AC_DEFINE(XP_UNIX)
 elif test "$OS_ARCH" != "WINNT" -a "$OS_ARCH" != "OS2"; then
   AC_DEFINE(XP_UNIX)
 fi
 
-AC_ARG_ENABLE(threadsafe,
-    [  --enable-threadsafe     Enable support for multiple threads.],
-    [if test "x$enableval" = "xyes"; then
-        AC_DEFINE(JS_THREADSAFE)
-    fi],)
+JS_THREADSAFE=1
+MOZ_ARG_DISABLE_BOOL(threadsafe,
+[  --disable-threadsafe Disable support for multiple threads.],
+    JS_THREADSAFE= )
+if test -n "$JS_THREADSAFE"; then
+    AC_DEFINE(JS_THREADSAFE)
+fi
 
 if test "$MOZ_DEBUG"; then
     AC_DEFINE(MOZ_REFLOW_PERF)
     AC_DEFINE(MOZ_REFLOW_PERF_DSP)
 fi
 
 if test "$ACCESSIBILITY" -a "$MOZ_ENABLE_GTK" ; then
     AC_DEFINE(MOZ_ACCESSIBILITY_ATK)
--- a/js/src/jit-test/tests/basic/testBug756919.js
+++ b/js/src/jit-test/tests/basic/testBug756919.js
@@ -1,8 +1,10 @@
 // |jit-test| allow-oom
 
 gcparam("maxBytes", gcparam("gcBytes") + 1024);
 test();
 function test() {
+  var upvar = "";
+  function f() { upvar += ""; }
   test();
   eval('');
 }
--- a/js/src/jit-test/tests/basic/testBug840012.js
+++ b/js/src/jit-test/tests/basic/testBug840012.js
@@ -1,15 +1,17 @@
 // |jit-test| error:out of memory
 
 gcPreserveCode();
 evaluate("gcparam(\"maxBytes\", gcparam(\"gcBytes\") + 4*1024);");
 evaluate("\
 function testDontEnum(F) { \
   function test() {\
+    var upvar = \"\";\
+    function f() { upvar += \"\"; }\
     typeof (new test(\"1\")) != 'function'\
   }\
   test();\
 } \
 var list = [];\
 for (i in list)\
   var F = this[list[i]];\
 actual = testDontEnum(F);\