JavaScript Tests for bug 453024, bug 454682, bug 455605, bug 455748, bug 455775, bug 456477, bug 456540, bug 457456, bug 457778, bug 459085, bug 457824, bug 421621, bug 432075, bug 435497, bug 455413, bug 456826, bug 455982, bug 452476, bug 458076, bug 459185, bug 459186, bug 458959 with updates to public failures, spidermonkey-n-1.9.1.tests and js1_8_1/trace/trace-test.js, and update for sisyphus configuration files.
authorBob Clary <bclary@bclary.com>
Sat, 11 Oct 2008 20:51:18 -0700
changeset 20329 b04c04268a94
parent 20328 d7338fec7266
child 20330 15996a62596e
push id2809
push userbclary@mozilla.com
push date2008-10-12 03:52 +0000
treeherdermozilla-central@b04c04268a94 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs453024, 454682, 455605, 455748, 455775, 456477, 456540, 457456, 457778, 459085, 457824, 421621, 432075, 435497, 455413, 456826, 455982, 452476, 458076, 459185, 459186, 458959
milestone1.9.1b2pre
JavaScript Tests for bug 453024, bug 454682, bug 455605, bug 455748, bug 455775, bug 456477, bug 456540, bug 457456, bug 457778, bug 459085, bug 457824, bug 421621, bug 432075, bug 435497, bug 455413, bug 456826, bug 455982, bug 452476, bug 458076, bug 459185, bug 459186, bug 458959 with updates to public failures, spidermonkey-n-1.9.1.tests and js1_8_1/trace/trace-test.js, and update for sisyphus configuration files.
js/tests/js1_5/Regress/regress-453024.js
js/tests/js1_5/Regress/regress-454682.js
js/tests/js1_5/Regress/regress-455605.js
js/tests/js1_5/Regress/regress-455748.js
js/tests/js1_5/Regress/regress-455775.js
js/tests/js1_5/Regress/regress-456477-01.js
js/tests/js1_5/Regress/regress-456477-02.js
js/tests/js1_5/Regress/regress-456540-01.js
js/tests/js1_5/Regress/regress-456540-02.js
js/tests/js1_5/Regress/regress-457456.js
js/tests/js1_5/Regress/regress-457778.js
js/tests/js1_5/Regress/regress-459085.js
js/tests/js1_5/decompilation/regress-457824.js
js/tests/js1_5/extensions/regress-421621.js
js/tests/js1_5/extensions/regress-432075.js
js/tests/js1_5/extensions/regress-435497-01.js
js/tests/js1_5/extensions/regress-435497-02.js
js/tests/js1_5/extensions/regress-435497-03.js
js/tests/js1_5/extensions/regress-455413.js
js/tests/js1_6/extensions/regress-456826.js
js/tests/js1_7/extensions/regress-455982-01.js
js/tests/js1_7/extensions/regress-455982-02.js
js/tests/js1_8/extensions/regress-452476.js
js/tests/js1_8/regress/regress-458076.js
js/tests/js1_8/regress/regress-459185.js
js/tests/js1_8/regress/regress-459186.js
js/tests/js1_8_1/JSON/regress-458959.js
js/tests/js1_8_1/JSON/shell.js
js/tests/js1_8_1/trace/trace-test.js
js/tests/public-failures.txt
js/tests/spidermonkey-n-1.9.1.tests
testing/sisyphus/data/firefox,1.8.1-too-much-gc,debug.data
testing/sisyphus/data/firefox,1.9.0-too-much-gc,debug.data
testing/sisyphus/data/firefox,1.9.1-too-much-gc,debug.data
testing/sisyphus/data/js,1.8.1-too-much-gc,debug.data
testing/sisyphus/data/js,1.9.0-too-much-gc,debug.data
testing/sisyphus/data/js,1.9.1-too-much-gc,debug.data
new file mode 100644
--- /dev/null
+++ b/js/tests/js1_5/Regress/regress-453024.js
@@ -0,0 +1,78 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is JavaScript Engine testing utilities.
+ *
+ * The Initial Developer of the Original Code is
+ * Mozilla Foundation.
+ * Portions created by the Initial Developer are Copyright (C) 2008
+ * the Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s): Jesse Ruderman
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+ * in which case the provisions of the GPL or the LGPL are applicable instead
+ * of those above. If you wish to allow use of your version of this file only
+ * under the terms of either the GPL or the LGPL, and not to allow others to
+ * use your version of this file under the terms of the MPL, indicate your
+ * decision by deleting the provisions above and replace them with the notice
+ * and other provisions required by the GPL or the LGPL. If you do not delete
+ * the provisions above, a recipient may use your version of this file under
+ * the terms of any one of the MPL, the GPL or the LGPL.
+ *
+ * ***** END LICENSE BLOCK ***** */
+
+var gTestfile = 'regress-453024.js';
+//-----------------------------------------------------------------------------
+var BUGNUMBER = 453024;
+var summary = 'Do not assert: vp + 2 + argc <= (jsval *) cx->stackPool.current->avail';
+var actual = 'No Crash';
+var expect = 'No Crash';
+
+if (typeof window == 'undefined')
+{
+  reportCompare(true, true, summary + ': test requires browser.');
+}
+else
+{
+  gDelayTestDriverEnd = true;
+  var j = 0;
+
+  function test()
+  {
+    enterFunc ('test');
+    printBugNumber(BUGNUMBER);
+    printStatus (summary);
+ 
+    for (var i = 0; i < 2000; ++i) {
+      var ns = document.createElementNS("http://www.w3.org/1999/xhtml", "script");
+      var nt = document.createTextNode("++j");
+      ns.appendChild(nt);
+      document.body.appendChild(ns);
+    }
+
+    gDelayTestDriverEnd = false;
+
+    reportCompare(expect, actual, summary);
+
+    jsTestDriverEnd();
+
+    exitFunc ('test');
+  }
+
+  window.addEventListener('load', test, false);
+
+}
new file mode 100644
--- /dev/null
+++ b/js/tests/js1_5/Regress/regress-454682.js
@@ -0,0 +1,68 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is JavaScript Engine testing utilities.
+ *
+ * The Initial Developer of the Original Code is
+ * Mozilla Foundation.
+ * Portions created by the Initial Developer are Copyright (C) 2008
+ * the Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s): Brian Crowder
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+ * in which case the provisions of the GPL or the LGPL are applicable instead
+ * of those above. If you wish to allow use of your version of this file only
+ * under the terms of either the GPL or the LGPL, and not to allow others to
+ * use your version of this file under the terms of the MPL, indicate your
+ * decision by deleting the provisions above and replace them with the notice
+ * and other provisions required by the GPL or the LGPL. If you do not delete
+ * the provisions above, a recipient may use your version of this file under
+ * the terms of any one of the MPL, the GPL or the LGPL.
+ *
+ * ***** END LICENSE BLOCK ***** */
+
+var gTestfile = 'regress-454682.js';
+//-----------------------------------------------------------------------------
+var BUGNUMBER = 454682;
+var summary = 'Do not crash with JIT in MatchRegExp';
+var actual = 'No Crash';
+var expect = 'No Crash';
+
+
+//-----------------------------------------------------------------------------
+test();
+//-----------------------------------------------------------------------------
+
+function test()
+{
+  enterFunc ('test');
+  printBugNumber(BUGNUMBER);
+  printStatus (summary);
+ 
+  jit(true);
+
+  var a = new String("foo");
+  for (i = 0; i < 300; i++) {
+    a.match(/bar/);
+  }
+
+  jit(false);
+
+  reportCompare(expect, actual, summary);
+
+  exitFunc ('test');
+}
new file mode 100644
--- /dev/null
+++ b/js/tests/js1_5/Regress/regress-455605.js
@@ -0,0 +1,65 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is JavaScript Engine testing utilities.
+ *
+ * The Initial Developer of the Original Code is
+ * Mozilla Foundation.
+ * Portions created by the Initial Developer are Copyright (C) 2008
+ * the Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s): Jesse Ruderman
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+ * in which case the provisions of the GPL or the LGPL are applicable instead
+ * of those above. If you wish to allow use of your version of this file only
+ * under the terms of either the GPL or the LGPL, and not to allow others to
+ * use your version of this file under the terms of the MPL, indicate your
+ * decision by deleting the provisions above and replace them with the notice
+ * and other provisions required by the GPL or the LGPL. If you do not delete
+ * the provisions above, a recipient may use your version of this file under
+ * the terms of any one of the MPL, the GPL or the LGPL.
+ *
+ * ***** END LICENSE BLOCK ***** */
+
+var gTestfile = 'regress-455605.js';
+//-----------------------------------------------------------------------------
+var BUGNUMBER = 455605;
+var summary = 'Do not assert with JIT: "need a way to EOT now, since this is trace end": 0';
+var actual = 'No Crash';
+var expect = 'No Crash';
+
+
+//-----------------------------------------------------------------------------
+test();
+//-----------------------------------------------------------------------------
+
+function test()
+{
+  enterFunc ('test');
+  printBugNumber(BUGNUMBER);
+  printStatus (summary);
+ 
+  jit(true);
+
+  for (var j = 0; j < 4; ++j) { switch(0/0) { } }
+
+  jit(false);
+
+  reportCompare(expect, actual, summary);
+
+  exitFunc ('test');
+}
new file mode 100644
--- /dev/null
+++ b/js/tests/js1_5/Regress/regress-455748.js
@@ -0,0 +1,65 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is JavaScript Engine testing utilities.
+ *
+ * The Initial Developer of the Original Code is
+ * Mozilla Foundation.
+ * Portions created by the Initial Developer are Copyright (C) 2008
+ * the Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s): Jesse Ruderman
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+ * in which case the provisions of the GPL or the LGPL are applicable instead
+ * of those above. If you wish to allow use of your version of this file only
+ * under the terms of either the GPL or the LGPL, and not to allow others to
+ * use your version of this file under the terms of the MPL, indicate your
+ * decision by deleting the provisions above and replace them with the notice
+ * and other provisions required by the GPL or the LGPL. If you do not delete
+ * the provisions above, a recipient may use your version of this file under
+ * the terms of any one of the MPL, the GPL or the LGPL.
+ *
+ * ***** END LICENSE BLOCK ***** */
+
+var gTestfile = 'regress-455748.js';
+//-----------------------------------------------------------------------------
+var BUGNUMBER = 455748;
+var summary = 'Do not assert with JIT: Should not move data from GPR to XMM';
+var actual = 'No Crash';
+var expect = 'No Crash';
+
+
+//-----------------------------------------------------------------------------
+test();
+//-----------------------------------------------------------------------------
+
+function test()
+{
+  enterFunc ('test');
+  printBugNumber(BUGNUMBER);
+  printStatus (summary);
+ 
+  jit(true);
+
+  for (var j = 0; j < 5; ++j) { if([1][-0]) { } }
+
+  jit(false);
+
+  reportCompare(expect, actual, summary);
+
+  exitFunc ('test');
+}
new file mode 100644
--- /dev/null
+++ b/js/tests/js1_5/Regress/regress-455775.js
@@ -0,0 +1,67 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is JavaScript Engine testing utilities.
+ *
+ * The Initial Developer of the Original Code is
+ * Mozilla Foundation.
+ * Portions created by the Initial Developer are Copyright (C) 2008
+ * the Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s): Jesse Ruderman
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+ * in which case the provisions of the GPL or the LGPL are applicable instead
+ * of those above. If you wish to allow use of your version of this file only
+ * under the terms of either the GPL or the LGPL, and not to allow others to
+ * use your version of this file under the terms of the MPL, indicate your
+ * decision by deleting the provisions above and replace them with the notice
+ * and other provisions required by the GPL or the LGPL. If you do not delete
+ * the provisions above, a recipient may use your version of this file under
+ * the terms of any one of the MPL, the GPL or the LGPL.
+ *
+ * ***** END LICENSE BLOCK ***** */
+
+var gTestfile = 'regress-455775.js';
+//-----------------------------------------------------------------------------
+var BUGNUMBER = 455775;
+var summary = 'Do not assert: cx->fp->flags & JSFRAME_EVAL';
+var actual = 'No Crash';
+var expect = 'No Crash';
+
+
+//-----------------------------------------------------------------------------
+test();
+//-----------------------------------------------------------------------------
+
+function test()
+{
+  enterFunc ('test');
+  printBugNumber(BUGNUMBER);
+  printStatus (summary);
+
+  try
+  {
+    (function() { var c; eval("new (c ? 1 : {});"); })();
+  }
+  catch(ex)
+  {
+  }
+
+  reportCompare(expect, actual, summary);
+
+  exitFunc ('test');
+}
new file mode 100644
--- /dev/null
+++ b/js/tests/js1_5/Regress/regress-456477-01.js
@@ -0,0 +1,65 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is JavaScript Engine testing utilities.
+ *
+ * The Initial Developer of the Original Code is
+ * Mozilla Foundation.
+ * Portions created by the Initial Developer are Copyright (C) 2008
+ * the Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s): Jesse Ruderman
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+ * in which case the provisions of the GPL or the LGPL are applicable instead
+ * of those above. If you wish to allow use of your version of this file only
+ * under the terms of either the GPL or the LGPL, and not to allow others to
+ * use your version of this file under the terms of the MPL, indicate your
+ * decision by deleting the provisions above and replace them with the notice
+ * and other provisions required by the GPL or the LGPL. If you do not delete
+ * the provisions above, a recipient may use your version of this file under
+ * the terms of any one of the MPL, the GPL or the LGPL.
+ *
+ * ***** END LICENSE BLOCK ***** */
+
+var gTestfile = 'regress-456477-01.js';
+//-----------------------------------------------------------------------------
+var BUGNUMBER = 456477;
+var summary = 'Do not assert with JIT: (m != JSVAL_INT) || isInt32(*vp)" with (0/0)%(-1)';
+var actual = 'No Crash';
+var expect = 'No Crash';
+
+
+//-----------------------------------------------------------------------------
+test();
+//-----------------------------------------------------------------------------
+
+function test()
+{
+  enterFunc ('test');
+  printBugNumber(BUGNUMBER);
+  printStatus (summary);
+ 
+  jit(true);
+
+  for (var j = 0; j < 5; ++j) { var t = (0 / 0) % (-1); }
+
+  jit(false);
+
+  reportCompare(expect, actual, summary);
+
+  exitFunc ('test');
+}
new file mode 100644
--- /dev/null
+++ b/js/tests/js1_5/Regress/regress-456477-02.js
@@ -0,0 +1,65 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is JavaScript Engine testing utilities.
+ *
+ * The Initial Developer of the Original Code is
+ * Mozilla Foundation.
+ * Portions created by the Initial Developer are Copyright (C) 2008
+ * the Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s): Jesse Ruderman
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+ * in which case the provisions of the GPL or the LGPL are applicable instead
+ * of those above. If you wish to allow use of your version of this file only
+ * under the terms of either the GPL or the LGPL, and not to allow others to
+ * use your version of this file under the terms of the MPL, indicate your
+ * decision by deleting the provisions above and replace them with the notice
+ * and other provisions required by the GPL or the LGPL. If you do not delete
+ * the provisions above, a recipient may use your version of this file under
+ * the terms of any one of the MPL, the GPL or the LGPL.
+ *
+ * ***** END LICENSE BLOCK ***** */
+
+var gTestfile = 'regress-456477-02.js';
+//-----------------------------------------------------------------------------
+var BUGNUMBER = 456477;
+var summary = 'Do not assert with JIT: (m != JSVAL_INT) || isInt32(*vp)" with (0/0)%(-1)';
+var actual = 'No Crash';
+var expect = 'No Crash';
+
+
+//-----------------------------------------------------------------------------
+test();
+//-----------------------------------------------------------------------------
+
+function test()
+{
+  enterFunc ('test');
+  printBugNumber(BUGNUMBER);
+  printStatus (summary);
+ 
+  jit(true);
+
+  (function() { for (var j = 0; j < 5; ++j) { (0 / 0) % (-1); } })();
+
+  jit(false);
+
+  reportCompare(expect, actual, summary);
+
+  exitFunc ('test');
+}
new file mode 100644
--- /dev/null
+++ b/js/tests/js1_5/Regress/regress-456540-01.js
@@ -0,0 +1,65 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is JavaScript Engine testing utilities.
+ *
+ * The Initial Developer of the Original Code is
+ * Mozilla Foundation.
+ * Portions created by the Initial Developer are Copyright (C) 2008
+ * the Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s): Jesse Ruderman
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+ * in which case the provisions of the GPL or the LGPL are applicable instead
+ * of those above. If you wish to allow use of your version of this file only
+ * under the terms of either the GPL or the LGPL, and not to allow others to
+ * use your version of this file under the terms of the MPL, indicate your
+ * decision by deleting the provisions above and replace them with the notice
+ * and other provisions required by the GPL or the LGPL. If you do not delete
+ * the provisions above, a recipient may use your version of this file under
+ * the terms of any one of the MPL, the GPL or the LGPL.
+ *
+ * ***** END LICENSE BLOCK ***** */
+
+var gTestfile = 'regress-456540-01.js';
+//-----------------------------------------------------------------------------
+var BUGNUMBER = 456540;
+var summary = 'Do not assert with JIT: (m != JSVAL_INT) || isInt32(*vp)" with ((-1) % ""';
+var actual = 'No Crash';
+var expect = 'No Crash';
+
+
+//-----------------------------------------------------------------------------
+test();
+//-----------------------------------------------------------------------------
+
+function test()
+{
+  enterFunc ('test');
+  printBugNumber(BUGNUMBER);
+  printStatus (summary);
+ 
+  jit(true);
+
+  for (var j = 0; j < 5; ++j) { var t = ((-1) % "" ); }
+
+  jit(false);
+
+  reportCompare(expect, actual, summary);
+
+  exitFunc ('test');
+}
new file mode 100644
--- /dev/null
+++ b/js/tests/js1_5/Regress/regress-456540-02.js
@@ -0,0 +1,65 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is JavaScript Engine testing utilities.
+ *
+ * The Initial Developer of the Original Code is
+ * Mozilla Foundation.
+ * Portions created by the Initial Developer are Copyright (C) 2008
+ * the Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s): Jesse Ruderman
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+ * in which case the provisions of the GPL or the LGPL are applicable instead
+ * of those above. If you wish to allow use of your version of this file only
+ * under the terms of either the GPL or the LGPL, and not to allow others to
+ * use your version of this file under the terms of the MPL, indicate your
+ * decision by deleting the provisions above and replace them with the notice
+ * and other provisions required by the GPL or the LGPL. If you do not delete
+ * the provisions above, a recipient may use your version of this file under
+ * the terms of any one of the MPL, the GPL or the LGPL.
+ *
+ * ***** END LICENSE BLOCK ***** */
+
+var gTestfile = 'regress-456540-02.js';
+//-----------------------------------------------------------------------------
+var BUGNUMBER = 456540;
+var summary = 'Do not assert with JIT: (m != JSVAL_INT) || isInt32(*vp)" with ((-1) % ""';
+var actual = 'No Crash';
+var expect = 'No Crash';
+
+
+//-----------------------------------------------------------------------------
+test();
+//-----------------------------------------------------------------------------
+
+function test()
+{
+  enterFunc ('test');
+  printBugNumber(BUGNUMBER);
+  printStatus (summary);
+ 
+  jit(true);
+
+  (function() { for (var j = 0; j < 5; ++j) { ((-1) % "" ); } })();
+
+  jit(false);
+
+  reportCompare(expect, actual, summary);
+
+  exitFunc ('test');
+}
new file mode 100644
--- /dev/null
+++ b/js/tests/js1_5/Regress/regress-457456.js
@@ -0,0 +1,65 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is JavaScript Engine testing utilities.
+ *
+ * The Initial Developer of the Original Code is
+ * Mozilla Foundation.
+ * Portions created by the Initial Developer are Copyright (C) 2008
+ * the Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s): Jesse Ruderman
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+ * in which case the provisions of the GPL or the LGPL are applicable instead
+ * of those above. If you wish to allow use of your version of this file only
+ * under the terms of either the GPL or the LGPL, and not to allow others to
+ * use your version of this file under the terms of the MPL, indicate your
+ * decision by deleting the provisions above and replace them with the notice
+ * and other provisions required by the GPL or the LGPL. If you do not delete
+ * the provisions above, a recipient may use your version of this file under
+ * the terms of any one of the MPL, the GPL or the LGPL.
+ *
+ * ***** END LICENSE BLOCK ***** */
+
+var gTestfile = 'regress-457456.js';
+//-----------------------------------------------------------------------------
+var BUGNUMBER = 457456;
+var summary = 'Do not assert with JIT: cond->isCond()';
+var actual = 'No Crash';
+var expect = 'No Crash';
+
+
+//-----------------------------------------------------------------------------
+test();
+//-----------------------------------------------------------------------------
+
+function test()
+{
+  enterFunc ('test');
+  printBugNumber(BUGNUMBER);
+  printStatus (summary);
+ 
+  jit(true);
+
+  for (var j = 0; j < 4; ++j) { if (undefined < false) { } }
+
+  jit(false);
+
+  reportCompare(expect, actual, summary);
+
+  exitFunc ('test');
+}
new file mode 100644
--- /dev/null
+++ b/js/tests/js1_5/Regress/regress-457778.js
@@ -0,0 +1,65 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is JavaScript Engine testing utilities.
+ *
+ * The Initial Developer of the Original Code is
+ * Mozilla Foundation.
+ * Portions created by the Initial Developer are Copyright (C) 2008
+ * the Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s): Jesse Ruderman
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+ * in which case the provisions of the GPL or the LGPL are applicable instead
+ * of those above. If you wish to allow use of your version of this file only
+ * under the terms of either the GPL or the LGPL, and not to allow others to
+ * use your version of this file under the terms of the MPL, indicate your
+ * decision by deleting the provisions above and replace them with the notice
+ * and other provisions required by the GPL or the LGPL. If you do not delete
+ * the provisions above, a recipient may use your version of this file under
+ * the terms of any one of the MPL, the GPL or the LGPL.
+ *
+ * ***** END LICENSE BLOCK ***** */
+
+var gTestfile = 'regress-457778.js';
+//-----------------------------------------------------------------------------
+var BUGNUMBER = 457778;
+var summary = 'Do not assert with JIT: cond->isCond()';
+var actual = 'No Crash';
+var expect = 'No Crash';
+
+
+//-----------------------------------------------------------------------------
+test();
+//-----------------------------------------------------------------------------
+
+function test()
+{
+  enterFunc ('test');
+  printBugNumber(BUGNUMBER);
+  printStatus (summary);
+ 
+  jit(true);
+
+  for (var j = 0; j < 4; ++j) { if (undefined < false) { } }
+
+  jit(false);
+
+  reportCompare(expect, actual, summary);
+
+  exitFunc ('test');
+}
new file mode 100644
--- /dev/null
+++ b/js/tests/js1_5/Regress/regress-459085.js
@@ -0,0 +1,67 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is JavaScript Engine testing utilities.
+ *
+ * The Initial Developer of the Original Code is
+ * Mozilla Foundation.
+ * Portions created by the Initial Developer are Copyright (C) 2008
+ * the Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s): Jason Orendorff
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+ * in which case the provisions of the GPL or the LGPL are applicable instead
+ * of those above. If you wish to allow use of your version of this file only
+ * under the terms of either the GPL or the LGPL, and not to allow others to
+ * use your version of this file under the terms of the MPL, indicate your
+ * decision by deleting the provisions above and replace them with the notice
+ * and other provisions required by the GPL or the LGPL. If you do not delete
+ * the provisions above, a recipient may use your version of this file under
+ * the terms of any one of the MPL, the GPL or the LGPL.
+ *
+ * ***** END LICENSE BLOCK ***** */
+
+var gTestfile = 'regress-459085.js';
+//-----------------------------------------------------------------------------
+var BUGNUMBER = 459085;
+var summary = 'Do not assert with JIT: Should not move data from GPR to XMM';
+var actual = 'No Crash';
+var expect = 'No Crash';
+
+
+//-----------------------------------------------------------------------------
+test();
+//-----------------------------------------------------------------------------
+
+function test()
+{
+  enterFunc ('test');
+  printBugNumber(BUGNUMBER);
+  printStatus (summary);
+  
+  jit(true);
+
+  var m = new Number(3);
+  function foo() { for (var i=0; i<20;i++) m.toString(); } 
+  foo();
+
+  jit(false);
+
+  reportCompare(expect, actual, summary);
+
+  exitFunc ('test');
+}
new file mode 100644
--- /dev/null
+++ b/js/tests/js1_5/decompilation/regress-457824.js
@@ -0,0 +1,66 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is JavaScript Engine testing utilities.
+ *
+ * The Initial Developer of the Original Code is
+ * Mozilla Foundation.
+ * Portions created by the Initial Developer are Copyright (C) 2008
+ * the Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s): Jesse Ruderman
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+ * in which case the provisions of the GPL or the LGPL are applicable instead
+ * of those above. If you wish to allow use of your version of this file only
+ * under the terms of either the GPL or the LGPL, and not to allow others to
+ * use your version of this file under the terms of the MPL, indicate your
+ * decision by deleting the provisions above and replace them with the notice
+ * and other provisions required by the GPL or the LGPL. If you do not delete
+ * the provisions above, a recipient may use your version of this file under
+ * the terms of any one of the MPL, the GPL or the LGPL.
+ *
+ * ***** END LICENSE BLOCK ***** */
+
+var gTestfile = 'regress-457824.js';
+//-----------------------------------------------------------------------------
+var BUGNUMBER = 457824;
+var summary = 'decompilation of new a(b).c';
+var actual = '';
+var expect = '';
+
+
+//-----------------------------------------------------------------------------
+test();
+//-----------------------------------------------------------------------------
+
+function test()
+{
+  enterFunc ('test');
+  printBugNumber(BUGNUMBER);
+  printStatus (summary);
+
+  expect = 'function() { (new a(b)).c; }';
+  var g = (function() { new a(b).c });
+
+  actual = g + '';
+  compareSource(expect, actual, summary);
+
+  actual = g + '';
+  compareSource(expect, actual, summary);
+
+  exitFunc ('test');
+}
new file mode 100644
--- /dev/null
+++ b/js/tests/js1_5/extensions/regress-421621.js
@@ -0,0 +1,54 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is JavaScript Engine testing utilities.
+ *
+ * The Initial Developer of the Original Code is
+ * Mozilla Foundation.
+ * Portions created by the Initial Developer are Copyright (C) 2008
+ * the Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s): Jesse Ruderman
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+ * in which case the provisions of the GPL or the LGPL are applicable instead
+ * of those above. If you wish to allow use of your version of this file only
+ * under the terms of either the GPL or the LGPL, and not to allow others to
+ * use your version of this file under the terms of the MPL, indicate your
+ * decision by deleting the provisions above and replace them with the notice
+ * and other provisions required by the GPL or the LGPL. If you do not delete
+ * the provisions above, a recipient may use your version of this file under
+ * the terms of any one of the MPL, the GPL or the LGPL.
+ *
+ * ***** END LICENSE BLOCK ***** */
+
+var gTestfile = 'regress-421621.js';
+//-----------------------------------------------------------------------------
+var BUGNUMBER = 421621;
+var summary = 'Do not assert with setter, export/import: (sprop)->slot != SPROP_INVALID_SLOT || !SPROP_HAS_STUB_SETTER(sprop)';
+var actual = 'No Crash';
+var expect = 'No Crash';
+
+printBugNumber(BUGNUMBER);
+printStatus (summary);
+ 
+var th = this;
+this.__defineSetter__('x', function () {});
+export *;
+import th.*;
+x;
+
+reportCompare(expect, actual, summary);
new file mode 100644
--- /dev/null
+++ b/js/tests/js1_5/extensions/regress-432075.js
@@ -0,0 +1,57 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is JavaScript Engine testing utilities.
+ *
+ * The Initial Developer of the Original Code is
+ * Mozilla Foundation.
+ * Portions created by the Initial Developer are Copyright (C) 2008
+ * the Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s): Jesse Ruderman
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+ * in which case the provisions of the GPL or the LGPL are applicable instead
+ * of those above. If you wish to allow use of your version of this file only
+ * under the terms of either the GPL or the LGPL, and not to allow others to
+ * use your version of this file under the terms of the MPL, indicate your
+ * decision by deleting the provisions above and replace them with the notice
+ * and other provisions required by the GPL or the LGPL. If you do not delete
+ * the provisions above, a recipient may use your version of this file under
+ * the terms of any one of the MPL, the GPL or the LGPL.
+ *
+ * ***** END LICENSE BLOCK ***** */
+
+var gTestfile = 'regress-432075.js';
+//-----------------------------------------------------------------------------
+var BUGNUMBER = 432075;
+var summary = 'A function decompiles as [object Function] after export/import';
+var actual = '';
+var expect = '';
+
+printBugNumber(BUGNUMBER);
+printStatus (summary);
+ 
+var a = Function;
+var t = this;
+export *;
+import t.*;
+Function = a;
+
+expect = 'function anonymous() {}';
+actual = (new Function("")) + '';
+
+compareSource(expect, actual, summary);
new file mode 100644
--- /dev/null
+++ b/js/tests/js1_5/extensions/regress-435497-01.js
@@ -0,0 +1,68 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is JavaScript Engine testing utilities.
+ *
+ * The Initial Developer of the Original Code is
+ * Mozilla Foundation.
+ * Portions created by the Initial Developer are Copyright (C) 2008
+ * the Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s): Gary Kwong
+ *                 Jesse Ruderman
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+ * in which case the provisions of the GPL or the LGPL are applicable instead
+ * of those above. If you wish to allow use of your version of this file only
+ * under the terms of either the GPL or the LGPL, and not to allow others to
+ * use your version of this file under the terms of the MPL, indicate your
+ * decision by deleting the provisions above and replace them with the notice
+ * and other provisions required by the GPL or the LGPL. If you do not delete
+ * the provisions above, a recipient may use your version of this file under
+ * the terms of any one of the MPL, the GPL or the LGPL.
+ *
+ * ***** END LICENSE BLOCK ***** */
+
+var gTestfile = 'regress-435497-01.js';
+//-----------------------------------------------------------------------------
+var BUGNUMBER = 435497;
+var summary = 'Do not assert op2 == JSOP_INITELEM';
+var actual = 'No Crash';
+var expect = 'No Crash';
+
+
+//-----------------------------------------------------------------------------
+test();
+//-----------------------------------------------------------------------------
+
+function test()
+{
+  enterFunc ('test');
+  printBugNumber(BUGNUMBER);
+  printStatus (summary);
+ 
+  try
+  {
+    eval('(function() { x, x setter = 0, y; const x; })();');
+  }
+  catch(ex)
+  {
+  }
+
+  reportCompare(expect, actual, summary);
+
+  exitFunc ('test');
+}
new file mode 100644
--- /dev/null
+++ b/js/tests/js1_5/extensions/regress-435497-02.js
@@ -0,0 +1,68 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is JavaScript Engine testing utilities.
+ *
+ * The Initial Developer of the Original Code is
+ * Mozilla Foundation.
+ * Portions created by the Initial Developer are Copyright (C) 2008
+ * the Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s): Gary Kwong
+ *                 Jesse Ruderman
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+ * in which case the provisions of the GPL or the LGPL are applicable instead
+ * of those above. If you wish to allow use of your version of this file only
+ * under the terms of either the GPL or the LGPL, and not to allow others to
+ * use your version of this file under the terms of the MPL, indicate your
+ * decision by deleting the provisions above and replace them with the notice
+ * and other provisions required by the GPL or the LGPL. If you do not delete
+ * the provisions above, a recipient may use your version of this file under
+ * the terms of any one of the MPL, the GPL or the LGPL.
+ *
+ * ***** END LICENSE BLOCK ***** */
+
+var gTestfile = 'regress-435497-02.js';
+//-----------------------------------------------------------------------------
+var BUGNUMBER = 435497;
+var summary = 'Do not assert op2 == JSOP_INITELEM';
+var actual = 'No Crash';
+var expect = 'No Crash';
+
+
+//-----------------------------------------------------------------------------
+test();
+//-----------------------------------------------------------------------------
+
+function test()
+{
+  enterFunc ('test');
+  printBugNumber(BUGNUMBER);
+  printStatus (summary);
+ 
+  try
+  {
+    eval('(function() { x setter = 0, y; const x; })();');
+  }
+  catch(ex)
+  {
+  }
+
+  reportCompare(expect, actual, summary);
+
+  exitFunc ('test');
+}
new file mode 100644
--- /dev/null
+++ b/js/tests/js1_5/extensions/regress-435497-03.js
@@ -0,0 +1,68 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is JavaScript Engine testing utilities.
+ *
+ * The Initial Developer of the Original Code is
+ * Mozilla Foundation.
+ * Portions created by the Initial Developer are Copyright (C) 2008
+ * the Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s): Gary Kwong
+ *                 Jesse Ruderman
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+ * in which case the provisions of the GPL or the LGPL are applicable instead
+ * of those above. If you wish to allow use of your version of this file only
+ * under the terms of either the GPL or the LGPL, and not to allow others to
+ * use your version of this file under the terms of the MPL, indicate your
+ * decision by deleting the provisions above and replace them with the notice
+ * and other provisions required by the GPL or the LGPL. If you do not delete
+ * the provisions above, a recipient may use your version of this file under
+ * the terms of any one of the MPL, the GPL or the LGPL.
+ *
+ * ***** END LICENSE BLOCK ***** */
+
+var gTestfile = 'regress-435497-03.js';
+//-----------------------------------------------------------------------------
+var BUGNUMBER = 435497;
+var summary = 'Do not assert op2 == JSOP_INITELEM';
+var actual = 'No Crash';
+var expect = 'No Crash';
+
+
+//-----------------------------------------------------------------------------
+test();
+//-----------------------------------------------------------------------------
+
+function test()
+{
+  enterFunc ('test');
+  printBugNumber(BUGNUMBER);
+  printStatus (summary);
+ 
+  try
+  {
+    eval('(function() { x getter= function(){} ; var x5, x = 0x99; })();');
+  }
+  catch(ex)
+  {
+  }
+
+  reportCompare(expect, actual, summary);
+
+  exitFunc ('test');
+}
new file mode 100644
--- /dev/null
+++ b/js/tests/js1_5/extensions/regress-455413.js
@@ -0,0 +1,59 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is JavaScript Engine testing utilities.
+ *
+ * The Initial Developer of the Original Code is
+ * Mozilla Foundation.
+ * Portions created by the Initial Developer are Copyright (C) 2008
+ * the Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s): Jesse Ruderman
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+ * in which case the provisions of the GPL or the LGPL are applicable instead
+ * of those above. If you wish to allow use of your version of this file only
+ * under the terms of either the GPL or the LGPL, and not to allow others to
+ * use your version of this file under the terms of the MPL, indicate your
+ * decision by deleting the provisions above and replace them with the notice
+ * and other provisions required by the GPL or the LGPL. If you do not delete
+ * the provisions above, a recipient may use your version of this file under
+ * the terms of any one of the MPL, the GPL or the LGPL.
+ *
+ * ***** END LICENSE BLOCK ***** */
+
+var gTestfile = 'regress-455413.js';
+//-----------------------------------------------------------------------------
+var BUGNUMBER = 455413;
+var summary = 'Do not assert with JIT: (m != JSVAL_INT) || isInt32(*vp)';
+var actual = 'No Crash';
+var expect = 'No Crash';
+
+
+//-----------------------------------------------------------------------------
+test();
+//-----------------------------------------------------------------------------
+
+printBugNumber(BUGNUMBER);
+printStatus (summary);
+ 
+jit(true);
+
+this.watch('x', Math.pow); (function() { for(var j=0;j<4;++j){x=1;} })();
+
+jit(false);
+
+reportCompare(expect, actual, summary);
new file mode 100644
--- /dev/null
+++ b/js/tests/js1_6/extensions/regress-456826.js
@@ -0,0 +1,159 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is JavaScript Engine testing utilities.
+ *
+ * The Initial Developer of the Original Code is
+ * Mozilla Foundation.
+ * Portions created by the Initial Developer are Copyright (C) 2008
+ * the Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s): Boris Zbarsky
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+ * in which case the provisions of the GPL or the LGPL are applicable instead
+ * of those above. If you wish to allow use of your version of this file only
+ * under the terms of either the GPL or the LGPL, and not to allow others to
+ * use your version of this file under the terms of the MPL, indicate your
+ * decision by deleting the provisions above and replace them with the notice
+ * and other provisions required by the GPL or the LGPL. If you do not delete
+ * the provisions above, a recipient may use your version of this file under
+ * the terms of any one of the MPL, the GPL or the LGPL.
+ *
+ * ***** END LICENSE BLOCK ***** */
+
+var gTestfile = 'regress-456826.js';
+//-----------------------------------------------------------------------------
+var BUGNUMBER = 456826;
+var summary = 'Do not assert with JIT during OOM';
+var actual = 'No Crash';
+var expect = 'No Crash';
+
+
+//-----------------------------------------------------------------------------
+test();
+//-----------------------------------------------------------------------------
+
+function test()
+{
+  enterFunc ('test');
+  printBugNumber(BUGNUMBER);
+  printStatus (summary);
+
+  jit(true);
+
+  if (typeof gcparam != 'undefined')
+  {
+    gcparam("maxBytes", 22000);
+  }
+
+  const numRows = 600;
+  const numCols = 600;
+  var scratch = {};
+  var scratchZ = {};
+
+  function complexMult(a, b) {
+    var newr = a.r * b.r - a.i * b.i;
+    var newi = a.r * b.i + a.i * b.r;
+    scratch.r = newr;
+    scratch.i = newi;
+    return scratch;
+  }
+
+  function complexAdd(a, b) {
+    scratch.r = a.r + b.r;
+    scratch.i = a.i + b.i;
+    return scratch;
+  }
+
+  function abs(a) {
+    return Math.sqrt(a.r * a.r + a.i * a.i);
+  }
+
+  function computeEscapeSpeed(c) {
+    scratchZ.r = scratchZ.i = 0;
+    const scaler = 5;
+    const threshold = (colors.length - 1) * scaler + 1;
+    for (var i = 1; i < threshold; ++i) {
+      scratchZ = complexAdd(c, complexMult(scratchZ, scratchZ));
+      if (scratchZ.r * scratchZ.r + scratchZ.i * scratchZ.i > 4) {
+        return Math.floor((i - 1) / scaler) + 1;
+      }
+    }
+    return 0;
+  }
+
+  const colorStrings = [
+    "black",
+    "green",
+    "blue",
+    "red",
+    "purple",
+    "orange",
+    "cyan",
+    "yellow",
+    "magenta",
+    "brown",
+    "pink",
+    "chartreuse",
+    "darkorange",
+    "crimson",
+    "gray",
+    "deeppink",
+    "firebrick",
+    "lavender",
+    "lawngreen",
+    "lightsalmon",
+    "lime",
+    "goldenrod"
+    ];
+
+  var colors = [];
+
+  function createMandelSet(realRange, imagRange) {
+    var start = new Date();
+
+    // Set up our colors
+    for each (var color in colorStrings) {
+        var [r, g, b] = [0, 0, 0];
+        colors.push([r, g, b, 0xff]);
+      }
+
+    var realStep = (realRange.max - realRange.min)/numCols;
+    var imagStep = (imagRange.min - imagRange.max)/numRows;
+    for (var i = 0, curReal = realRange.min;
+         i < numCols;
+         ++i, curReal += realStep) {
+      for (var j = 0, curImag = imagRange.max;
+           j < numRows;
+           ++j, curImag += imagStep) {
+        var c = { r: curReal, i: curImag }
+        var n = computeEscapeSpeed(c);
+      }
+    }
+    print(Date.now() - start);
+  }
+
+  var realRange = { min: -2.1, max: 2 };
+  var imagRange = { min: -2, max: 2 };
+  createMandelSet(realRange, imagRange);
+
+  jit(false);
+
+  reportCompare(expect, actual, summary);
+
+  exitFunc ('test');
+}
new file mode 100644
--- /dev/null
+++ b/js/tests/js1_7/extensions/regress-455982-01.js
@@ -0,0 +1,59 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is JavaScript Engine testing utilities.
+ *
+ * The Initial Developer of the Original Code is
+ * Mozilla Foundation.
+ * Portions created by the Initial Developer are Copyright (C) 2008
+ * the Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s): Jesse Ruderman
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+ * in which case the provisions of the GPL or the LGPL are applicable instead
+ * of those above. If you wish to allow use of your version of this file only
+ * under the terms of either the GPL or the LGPL, and not to allow others to
+ * use your version of this file under the terms of the MPL, indicate your
+ * decision by deleting the provisions above and replace them with the notice
+ * and other provisions required by the GPL or the LGPL. If you do not delete
+ * the provisions above, a recipient may use your version of this file under
+ * the terms of any one of the MPL, the GPL or the LGPL.
+ *
+ * ***** END LICENSE BLOCK ***** */
+
+var gTestfile = 'regress-455982-01.js';
+//-----------------------------------------------------------------------------
+var BUGNUMBER = 455982;
+var summary = 'Do not assert with JIT: with generator as getter';
+var actual = 'No Crash';
+var expect = 'No Crash';
+
+printBugNumber(BUGNUMBER);
+printStatus (summary);
+
+jit(true);
+
+for (let i=0;i<5;++i) 
+  this["y" + i] = (function(){});
+
+this.__defineGetter__('e', function (x2) { yield; });
+
+[1 for each (a in this) for (b in {})];
+
+jit(false);
+
+reportCompare(expect, actual, summary);
new file mode 100644
--- /dev/null
+++ b/js/tests/js1_7/extensions/regress-455982-02.js
@@ -0,0 +1,59 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is JavaScript Engine testing utilities.
+ *
+ * The Initial Developer of the Original Code is
+ * Mozilla Foundation.
+ * Portions created by the Initial Developer are Copyright (C) 2008
+ * the Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s): Jesse Ruderman
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+ * in which case the provisions of the GPL or the LGPL are applicable instead
+ * of those above. If you wish to allow use of your version of this file only
+ * under the terms of either the GPL or the LGPL, and not to allow others to
+ * use your version of this file under the terms of the MPL, indicate your
+ * decision by deleting the provisions above and replace them with the notice
+ * and other provisions required by the GPL or the LGPL. If you do not delete
+ * the provisions above, a recipient may use your version of this file under
+ * the terms of any one of the MPL, the GPL or the LGPL.
+ *
+ * ***** END LICENSE BLOCK ***** */
+
+var gTestfile = 'regress-455982-02.js';
+//-----------------------------------------------------------------------------
+var BUGNUMBER = 455982;
+var summary = 'Do not assert with JIT: with generator as getter';
+var actual = 'No Crash';
+var expect = 'No Crash';
+
+printBugNumber(BUGNUMBER);
+printStatus (summary);
+
+jit(true);
+
+for (let i=0;i<5;++i) 
+  this["y" + i] = (function(){});
+
+this.__defineGetter__('e', function (x2) { yield; });
+
+[1 for each (a in this) for (b in {p:1,q:2,r:3})];
+
+jit(false);
+ 
+reportCompare(expect, actual, summary);
new file mode 100644
--- /dev/null
+++ b/js/tests/js1_8/extensions/regress-452476.js
@@ -0,0 +1,62 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is JavaScript Engine testing utilities.
+ *
+ * The Initial Developer of the Original Code is
+ * Mozilla Foundation.
+ * Portions created by the Initial Developer are Copyright (C) 2008
+ * the Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s): Jesse Ruderman
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+ * in which case the provisions of the GPL or the LGPL are applicable instead
+ * of those above. If you wish to allow use of your version of this file only
+ * under the terms of either the GPL or the LGPL, and not to allow others to
+ * use your version of this file under the terms of the MPL, indicate your
+ * decision by deleting the provisions above and replace them with the notice
+ * and other provisions required by the GPL or the LGPL. If you do not delete
+ * the provisions above, a recipient may use your version of this file under
+ * the terms of any one of the MPL, the GPL or the LGPL.
+ *
+ * ***** END LICENSE BLOCK ***** */
+
+var gTestfile = 'regress-452476.js';
+//-----------------------------------------------------------------------------
+var BUGNUMBER = 452476;
+var summary = 'Do not assert with JIT: !cx->runningJittedCode';
+var actual = 'No Crash';
+var expect = 'No Crash';
+
+printBugNumber(BUGNUMBER);
+printStatus (summary);
+
+jit(true);
+ 
+for (var j = 0; j < 10; j++)
+{
+  for (var i = 0; i < j; ++i) 
+    this["n" + i] = 1;
+
+  __defineGetter__('w', (function(){})); 
+
+  [1 for each (g in this) for each (t in /x/g)];
+}
+
+jit(false);
+
+reportCompare(expect, actual, summary);
new file mode 100644
--- /dev/null
+++ b/js/tests/js1_8/regress/regress-458076.js
@@ -0,0 +1,65 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is JavaScript Engine testing utilities.
+ *
+ * The Initial Developer of the Original Code is
+ * Mozilla Foundation.
+ * Portions created by the Initial Developer are Copyright (C) 2008
+ * the Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s): Jesse Ruderman
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+ * in which case the provisions of the GPL or the LGPL are applicable instead
+ * of those above. If you wish to allow use of your version of this file only
+ * under the terms of either the GPL or the LGPL, and not to allow others to
+ * use your version of this file under the terms of the MPL, indicate your
+ * decision by deleting the provisions above and replace them with the notice
+ * and other provisions required by the GPL or the LGPL. If you do not delete
+ * the provisions above, a recipient may use your version of this file under
+ * the terms of any one of the MPL, the GPL or the LGPL.
+ *
+ * ***** END LICENSE BLOCK ***** */
+
+var gTestfile = 'regress-458076.js';
+//-----------------------------------------------------------------------------
+var BUGNUMBER = 458076;
+var summary = 'Do not assert with JIT: !lhs->isQuad() && !rhs->isQuad()';
+var actual = 'No Crash';
+var expect = 'No Crash';
+
+
+//-----------------------------------------------------------------------------
+test();
+//-----------------------------------------------------------------------------
+
+function test()
+{
+  enterFunc ('test');
+  printBugNumber(BUGNUMBER);
+  printStatus (summary);
+ 
+  jit(true);
+
+  for (let j = 0; j < 3; ++j) { true == 0; }
+
+  jit(false);
+
+  reportCompare(expect, actual, summary);
+
+  exitFunc ('test');
+}
new file mode 100644
--- /dev/null
+++ b/js/tests/js1_8/regress/regress-459185.js
@@ -0,0 +1,67 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is JavaScript Engine testing utilities.
+ *
+ * The Initial Developer of the Original Code is
+ * Mozilla Foundation.
+ * Portions created by the Initial Developer are Copyright (C) 2008
+ * the Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s): Jesse Ruderman
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+ * in which case the provisions of the GPL or the LGPL are applicable instead
+ * of those above. If you wish to allow use of your version of this file only
+ * under the terms of either the GPL or the LGPL, and not to allow others to
+ * use your version of this file under the terms of the MPL, indicate your
+ * decision by deleting the provisions above and replace them with the notice
+ * and other provisions required by the GPL or the LGPL. If you do not delete
+ * the provisions above, a recipient may use your version of this file under
+ * the terms of any one of the MPL, the GPL or the LGPL.
+ *
+ * ***** END LICENSE BLOCK ***** */
+
+var gTestfile = 'regress-459185.js';
+//-----------------------------------------------------------------------------
+var BUGNUMBER = 459186;
+var summary = 'Do not assert: pn->pn_arity == PN_BINARY';
+var actual = 'No Crash';
+var expect = 'No Crash';
+
+
+//-----------------------------------------------------------------------------
+test();
+//-----------------------------------------------------------------------------
+
+function test()
+{
+  enterFunc ('test');
+  printBugNumber(BUGNUMBER);
+  printStatus (summary);
+
+  try
+  {
+    for (var {a: []} = 2 in []) { }
+  }
+  catch(ex)
+  {
+  }
+
+  reportCompare(expect, actual, summary);
+
+  exitFunc ('test');
+}
new file mode 100644
--- /dev/null
+++ b/js/tests/js1_8/regress/regress-459186.js
@@ -0,0 +1,67 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is JavaScript Engine testing utilities.
+ *
+ * The Initial Developer of the Original Code is
+ * Mozilla Foundation.
+ * Portions created by the Initial Developer are Copyright (C) 2008
+ * the Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s): Jesse Ruderman
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+ * in which case the provisions of the GPL or the LGPL are applicable instead
+ * of those above. If you wish to allow use of your version of this file only
+ * under the terms of either the GPL or the LGPL, and not to allow others to
+ * use your version of this file under the terms of the MPL, indicate your
+ * decision by deleting the provisions above and replace them with the notice
+ * and other provisions required by the GPL or the LGPL. If you do not delete
+ * the provisions above, a recipient may use your version of this file under
+ * the terms of any one of the MPL, the GPL or the LGPL.
+ *
+ * ***** END LICENSE BLOCK ***** */
+
+var gTestfile = 'regress-459186.js';
+//-----------------------------------------------------------------------------
+var BUGNUMBER = 459186;
+var summary = 'Do not crash in CheckDestructuring';
+var actual = 'No Crash';
+var expect = 'No Crash';
+
+
+//-----------------------------------------------------------------------------
+test();
+//-----------------------------------------------------------------------------
+
+function test()
+{
+  enterFunc ('test');
+  printBugNumber(BUGNUMBER);
+  printStatus (summary);
+ 
+  try
+  {
+    for (var [,{y}] = 1 in []) {}
+  }
+  catch(ex)
+  {
+  }
+
+  reportCompare(expect, actual, summary);
+
+  exitFunc ('test');
+}
new file mode 100644
--- /dev/null
+++ b/js/tests/js1_8_1/JSON/regress-458959.js
@@ -0,0 +1,65 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is JavaScript Engine testing utilities.
+ *
+ * The Initial Developer of the Original Code is
+ * Mozilla Foundation.
+ * Portions created by the Initial Developer are Copyright (C) 2008
+ * the Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s): Jesse Ruderman
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+ * in which case the provisions of the GPL or the LGPL are applicable instead
+ * of those above. If you wish to allow use of your version of this file only
+ * under the terms of either the GPL or the LGPL, and not to allow others to
+ * use your version of this file under the terms of the MPL, indicate your
+ * decision by deleting the provisions above and replace them with the notice
+ * and other provisions required by the GPL or the LGPL. If you do not delete
+ * the provisions above, a recipient may use your version of this file under
+ * the terms of any one of the MPL, the GPL or the LGPL.
+ *
+ * ***** END LICENSE BLOCK ***** */
+
+var gTestfile = 'regress-458959.js';
+//-----------------------------------------------------------------------------
+var BUGNUMBER = 458959;
+var summary = 'this.JSON should not be enumerable';
+var actual = '';
+var expect = '';
+
+
+//-----------------------------------------------------------------------------
+test();
+//-----------------------------------------------------------------------------
+
+function test()
+{
+  enterFunc ('test');
+  printBugNumber(BUGNUMBER);
+  printStatus (summary);
+ 
+  for (var i in this) 
+  {
+    if (i.toString() == 'JSON')
+      actual = i;
+  }
+
+  reportCompare(expect, actual, summary);
+
+  exitFunc ('test');
+}
new file mode 100644
--- /dev/null
+++ b/js/tests/js1_8_1/JSON/shell.js
@@ -0,0 +1,1 @@
+gTestsubsuite='JSON';
--- a/js/tests/js1_8_1/trace/trace-test.js
+++ b/js/tests/js1_8_1/trace/trace-test.js
@@ -18,16 +18,21 @@
  * Mozilla Foundation.
  * Portions created by the Initial Developer are Copyright (C) 2008
  * the Initial Developer. All Rights Reserved.
  *
  * Contributor(s): Mike Shaver
  *                 Brendan Eich
  *                 Andreas Gal
  *                 David Anderson
+ *                 Boris Zbarsky
+ *                 Brian Crowder
+ *                 Blake Kaplan
+ *                 Robert Sayre
+ *                 Vladimir Vukicevic
  *
  * Alternatively, the contents of this file may be used under the terms of
  * either the GNU General Public License Version 2 or later (the "GPL"), or
  * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
  * in which case the provisions of the GPL or the LGPL are applicable instead
  * of those above. If you wish to allow use of your version of this file only
  * under the terms of either the GPL or the LGPL, and not to allow others to
  * use your version of this file under the terms of the MPL, indicate your
@@ -42,55 +47,134 @@ var gTestfile = 'trace-test.js';
 //-----------------------------------------------------------------------------
 var BUGNUMBER = 'none';
 var summary = 'trace-capability mini-testsuite';
 
 printBugNumber(BUGNUMBER);
 printStatus (summary);
 
 jit(true);
- 
+
+/**
+ * A number of the tests in this file depend on the setting of
+ * HOTLOOP.  Define some constants up front, so they're easy to grep
+ * for.
+ */
+// The HOTLOOP constant we depend on; only readable from our stats
+// object in debug builds.
+const haveTracemonkey = !!(this.tracemonkey)
+const HOTLOOP = haveTracemonkey ? tracemonkey.HOTLOOP : 2;
+// The loop count at which we trace
+const RECORDLOOP = HOTLOOP;
+// The loop count at which we run the trace
+const RUNLOOP = HOTLOOP + 1;
+
 var testName = null;
 if ("arguments" in this && arguments.length > 0)
   testName = arguments[0];
 var fails = [], passes=[];
 
+function jitstatHandler(f)
+{
+    if (!haveTracemonkey) {
+	return;
+    }
+    // XXXbz this is a nasty hack, but I can't figure out a way to
+    // just use jitstats.tbl here
+    f("recorderStarted");
+    f("recorderAborted");
+    f("traceCompleted");
+    f("sideExitIntoInterpreter");
+    f("typeMapMismatchAtEntry");
+    f("returnToDifferentLoopHeader");
+    f("traceTriggered");
+    f("globalShapeMismatchAtEntry");
+    f("treesTrashed");
+    f("slotPromoted");
+    f("unstableLoopVariable");
+    f("breakLoopExits");
+    f("returnLoopExits");
+}
+
 function test(f)
 {
-  if (!testName || testName == f.name)
-    check(f.name, f(), f.expected);
+  if (!testName || testName == f.name) {
+    // Collect our jit stats
+    var localJITstats = {};
+    jitstatHandler(function(prop, local, global) {
+                     localJITstats[prop] = tracemonkey[prop];
+                   });
+    check(f.name, f(), f.expected, localJITstats, f.jitstats);
+  }
 }
 
-function check(desc, actual, expected)
+function check(desc, actual, expected, oldJITstats, expectedJITstats)
 {
-  if (expected instanceof RegExp) {
-    if (reportMatch(expected, actual + '', desc)) {
+  var pass = false;
+  if (expected == actual) {
+    pass = true;
+    jitstatHandler(function(prop) {
+                     if (expectedJITstats && prop in expectedJITstats &&
+                         expectedJITstats[prop] !=
+                           tracemonkey[prop] - oldJITstats[prop]) {
+                       pass = false;
+                     }
+                   });
+    if (pass) {
+      reportCompare(expected + '', actual + '', desc);
       passes.push(desc);
-      print(desc, ": passed");
-      return;
+      return print(desc, ": passed");
     }
-
-    fails.push(desc);
-    print(desc, ": FAILED: expected", typeof(expected), "(", expected, ") != actual",
-          typeof(actual), "(", actual, ")");
-    return;
   }
 
-  if (expected == actual) {
-    reportCompare(expected + '', actual + '', desc);
-    passes.push(desc);
-    print(desc, ": passed");
-    return;
+  if (expected instanceof RegExp) {
+    pass = reportMatch(expected, actual + '', desc);
+    if (pass) {
+      jitstatHandler(function(prop) {
+		       if (expectedJITstats && prop in expectedJITstats &&
+			   expectedJITstats[prop] !=
+			   tracemonkey[prop] - oldJITstats[prop]) {
+			 pass = false;
+		       }
+		     });
+    }
+    if (pass) {
+      passes.push(desc);
+      return print(desc, ": passed");
+    }
   }
 
   reportCompare(expected, actual, desc);
   fails.push(desc);
-  print(desc, ": FAILED: expected", typeof(expected), "(", expected, ") != actual",
-        typeof(actual), "(", actual, ")");
-  return
+  var expectedStats = "";
+  if (expectedJITstats) {
+      jitstatHandler(function(prop) {
+                       if (prop in expectedJITstats) {
+                         if (expectedStats)
+                           expectedStats += " ";
+                         expectedStats +=
+                           prop + ": " + expectedJITstats[prop];
+                       }
+                     });
+  }
+  var actualStats = "";
+  if (expectedJITstats) {
+      jitstatHandler(function(prop) {
+                       if (prop in expectedJITstats) {
+                         if (actualStats)
+                           actualStats += " ";
+                         actualStats += prop + ": " + (tracemonkey[prop]-oldJITstats[prop]);
+                       }
+                     });
+  }
+  print(desc, ": FAILED: expected", typeof(expected), "(", expected, ")",
+	(expectedStats ? " [" + expectedStats + "] " : ""),
+	"!= actual",
+	typeof(actual), "(", actual, ")",
+	(actualStats ? " [" + actualStats + "] " : ""));
 }
 
 function ifInsideLoop()
 {
   var cond = true, intCond = 5, count = 0;
   for (var i = 0; i < 100; i++) {
     if (cond)
       count++;
@@ -1019,17 +1103,17 @@ testBranchingUnstableLoop.expected = 110
 test(testBranchingUnstableLoop);
 
 function testBranchingUnstableLoopCounter() {
   var x = 0;
   for (var i=0; i < 100; ++i) {
     if (i == 51) {
       i += 1.1;
     }
-    x++;    
+    x++;
   }
   return x;
 }
 testBranchingUnstableLoopCounter.expected = 99;
 test(testBranchingUnstableLoopCounter);
 
 
 function testBranchingUnstableObject() {
@@ -1107,17 +1191,17 @@ function testContinueWithLabel() {
     checkiandj :
     while (i<10) {
 	i+=1;
 	checkj :
 	while (j>10) {
 	    j-=1;
 	    if ((j%2)==0)
 		continue checkj;
-	}   
+	}
     }
     return i + j;
 }
 testContinueWithLabel.expected = 20;
 test(testContinueWithLabel);
 
 function testDivision() {
     var a = 32768;
@@ -1241,31 +1325,39 @@ function testNegZero1Helper(z) {
 }
 
 var testNegZero1 = function() { return testNegZero1Helper(0); }
 testNegZero1.expected = true;
 testNegZero1.name = 'testNegZero1';
 testNegZero1Helper(1);
 test(testNegZero1);
 
-// No test case, just make sure this doesn't assert. 
+// No test case, just make sure this doesn't assert.
 function testNegZero2() {
     var z = 0;
     for (let j = 0; j < 5; ++j) { ({p: (-z)}); }
 }
 testNegZero2();
 
 function testConstSwitch() {
     var x;
     for (var j=0;j<5;++j) { switch(1.1) { case NaN: case 2: } x = 2; }
     return x;
 }
 testConstSwitch.expected = 2;
 test(testConstSwitch);
 
+function testConstSwitch2() {
+    var x;
+    for (var j = 0; j < 4; ++j) { switch(0/0) { } }
+    return "ok";
+}
+testConstSwitch2.expected = "ok";
+test(testConstSwitch2);
+
 function testConstIf() {
     var x;
     for (var j=0;j<5;++j) { if (1.1 || 5) { } x = 2;}
     return x;
 }
 testConstIf.expected = 2;
 test(testConstIf);
 
@@ -1364,13 +1456,389 @@ function testNativeMax() {
         k = Math.max(0, -0);
     }
     out.push((1 / k) < 0);
     return out.join(",");
 }
 testNativeMax.expected = "NaN,4,false";
 test(testNativeMax);
 
+function testFloatArrayIndex() {
+    var a = [];
+    for (var i = 0; i < 10; ++i) {
+	a[3] = 5;
+	a[3.5] = 7;
+    }
+    return a[3] + "," + a[3.5];
+}
+testFloatArrayIndex.expected = "5,7";
+test(testFloatArrayIndex);
+
+function testStrict() {
+    var n = 10, a = [];
+    for (var i = 0; i < 10; ++i) {
+	a[0] = (n === 10);
+	a[1] = (n !== 10);
+	a[2] = (n === null);
+	a[3] = (n == null);
+    }
+    return a.join(",");
+}
+testStrict.expected = "true,false,false,false";
+test(testStrict);
+
+function testSetPropNeitherMissNorHit() {
+    for (var j = 0; j < 5; ++j) { if (({}).__proto__ = 1) { } }
+    return "ok";
+}
+testSetPropNeitherMissNorHit.expected = "ok";
+test(testSetPropNeitherMissNorHit);
+
+function testPrimitiveConstructorPrototype() {
+    var f = function(){};
+    f.prototype = false;
+    for (let j=0;j<5;++j) { new f; }
+    return "ok";
+}
+testPrimitiveConstructorPrototype.expected = "ok";
+test(testPrimitiveConstructorPrototype);
+
+function testSideExitInConstructor() {
+    var FCKConfig = {};
+    FCKConfig.CoreStyles =
+	{
+	    'Bold': { },
+	    'Italic': { },
+	    'FontFace': { },
+	    'Size' :
+	    {
+		Overrides: [ ]
+	    },
+
+	    'Color' :
+	    {
+		Element: '',
+		Styles: {  },
+		Overrides: [  ]
+	    },
+	    'BackColor': {
+		Element : '',
+		Styles : { 'background-color' : '' }
+	    },
+
+	};
+    var FCKStyle = function(A) {
+	A.Element;
+    };
+
+    var pass = true;
+    for (var s in FCKConfig.CoreStyles) {
+	var x = new FCKStyle(FCKConfig.CoreStyles[s]);
+	if (!x) pass = false;
+    }
+    return pass;
+}
+testSideExitInConstructor.expected = true;
+test(testSideExitInConstructor);
+
+function testNot() {
+    var a = new Object(), b = null, c = "foo", d = "", e = 5, f = 0, g = 5.5, h = -0, i = true, j = false, k = undefined;
+    var r;
+    for (var i = 0; i < 10; ++i) {
+	r = [!a, !b, !c, !d, !e, !f, !g, !h, !i, !j, !k];
+    }
+    return r.join(",");
+}
+testNot.expected = "false,true,false,true,false,true,false,true,false,true,true";
+test(testNot);
+
+function doTestDifferingArgc(a, b)
+{
+    var k = 0;
+    for (var i = 0; i < 10; i++)
+    {
+        k += i;
+    }
+    return k;
+}
+function testDifferingArgc()
+{
+    var x = 0;
+    x += doTestDifferingArgc(1, 2);
+    x += doTestDifferingArgc(1);
+    x += doTestDifferingArgc(1, 2, 3);
+    return x;
+}
+testDifferingArgc.expected = 45*3;
+test(testDifferingArgc);
+
+function doTestMoreArgcThanNargs()
+{
+    var x = 0;
+    for (var i = 0; i < 10; i++)
+    {
+        x = x + arguments[3];
+    }
+    return x;
+}
+function testMoreArgcThanNargs()
+{
+    return doTestMoreArgcThanNargs(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
+}
+testMoreArgcThanNargs.expected = 4*10;
+test(testMoreArgcThanNargs);
+
+// Test stack reconstruction after a nested exit
+function testNestedExitStackInner(j, counter) {
+  ++counter;
+  var b = 0;
+  for (var i = 1; i <= RUNLOOP; i++) {
+    ++b;
+    var a;
+    // Make sure that once everything has been traced we suddenly switch to
+    // a different control flow the first time we run the outermost tree,
+    // triggering a side exit.
+    if (j < RUNLOOP)
+      a = 1;
+    else
+      a = 0;
+    ++b;
+    b += a;
+  }
+  return counter + b;
+}
+function testNestedExitStackOuter() {
+  var counter = 0;
+  for (var j = 1; j <= RUNLOOP; ++j) {
+    for (var k = 1; k <= RUNLOOP; ++k) {
+      counter = testNestedExitStackInner(j, counter);
+    }
+  }
+  return counter;
+}
+testNestedExitStackOuter.expected = 81;
+testNestedExitStackOuter.jitstats = {
+    recorderStarted: 4,
+    recorderAborted: 0,
+    traceTriggered: 9
+};
+test(testNestedExitStackOuter);
+
+function testHOTLOOPSize() {
+    return HOTLOOP > 1;
+}
+testHOTLOOPSize.expected = true;
+test(testHOTLOOPSize);
+
+function testGlobalProtoAccess() {
+    return "ok";
+}
+this.__proto__.a = 3; for (var j = 0; j < 4; ++j) { [a]; }
+testGlobalProtoAccess.expected = "ok";
+test(testGlobalProtoAccess);
+
+function testMatchStringObject() {
+    var a = new String("foo");
+    var b;
+    for (i = 0; i < 300; i++) {
+	b = a.match(/bar/);
+    }
+    return b;
+}
+testMatchStringObject.expected = null;
+test(testMatchStringObject);
+
+function innerSwitch(k)
+{
+    var m = 0;
+
+    switch (k)
+    {
+    case 0:
+        m = 1;
+        break;
+    }
+
+    return m;
+}
+function testInnerSwitchBreak()
+{
+    var r = new Array(5);
+    for (var i = 0; i < 5; i++)
+    {
+        r[i] = innerSwitch(0);
+    }
+
+    return r.join(",");
+}
+testInnerSwitchBreak.expected = "1,1,1,1,1";
+test(testInnerSwitchBreak);
+
+function testArrayNaNIndex()
+{
+    for (var j = 0; j < 4; ++j) { [this[NaN]]; }
+    for (var j = 0; j < 5; ++j) { if([1][-0]) { } }
+    return "ok";
+}
+testArrayNaNIndex.expected = "ok";
+test(testArrayNaNIndex);
+
+function innerTestInnerMissingArgs(a,b,c,d)
+{
+        if (a) {
+        } else {
+        }
+}
+function doTestInnerMissingArgs(k)
+{
+    for (i = 0; i < 10; i++) {
+        innerTestInnerMissingArgs(k);
+    }
+}
+function testInnerMissingArgs()
+{
+    doTestInnerMissingArgs(1);
+    doTestInnerMissingArgs(0);
+    return 1;
+}
+testInnerMissingArgs.expected = 1;  //Expected: that we don't crash.
+test(testInnerMissingArgs);
+
+function regexpLastIndex()
+{
+    var n = 0;
+    var re = /hi/g;
+    var ss = " hi hi hi hi hi hi hi hi hi hi";
+    for (var i = 0; i < 10; i++) {
+        // re.exec(ss);
+        n += (re.lastIndex > 0) ? 3 : 0;
+        re.lastIndex = 0;
+    }
+    return n;
+}
+regexpLastIndex.expected = 0; // 30;
+test(regexpLastIndex);
+
+function testHOTLOOPCorrectness() {
+    var b = 0;
+    for (var i = 0; i < HOTLOOP; ++i) {
+	++b;
+    }
+    return b;
+}
+testHOTLOOPCorrectness.expected = HOTLOOP;
+testHOTLOOPCorrectness.jitstats = {
+    recorderStarted: 1,
+    recorderAborted: 0,
+    traceTriggered: 0
+};
+// Change the global shape right before doing the test
+this.testHOTLOOPCorrectnessVar = 1;
+test(testHOTLOOPCorrectness);
+
+function testRUNLOOPCorrectness() {
+    var b = 0;
+    for (var i = 0; i < RUNLOOP; ++i) {
+	++b;
+    }
+    return b;
+}
+testRUNLOOPCorrectness.expected = RUNLOOP;
+testRUNLOOPCorrectness.jitstats = {
+    recorderStarted: 1,
+    recorderAborted: 0,
+    traceTriggered: 1
+};
+// Change the global shape right before doing the test
+this.testRUNLOOPCorrectnessVar = 1;
+test(testRUNLOOPCorrectness);
+
+function testDateNow() {
+    // Accessing global.Date for the first time will change the global shape,
+    // so do it before the loop starts; otherwise we have to loop an extra time
+    // to pick things up.
+    var time = Date.now();
+    for (var j = 0; j < RUNLOOP; ++j) {
+	time = Date.now();
+    }
+    return "ok";
+}
+testDateNow.expected = "ok";
+testDateNow.jitstats = {
+    recorderStarted: 1,
+    recorderAborted: 0,
+    traceTriggered: 1
+};
+test(testDateNow);
+
+function testINITELEM()
+{
+    var x;
+    for (var i = 0; i < 10; ++i)
+	x = { 0: 5, 1: 5 };
+    return x[0] + x[1];
+}
+testINITELEM.expected = 10;
+test(testINITELEM);
+
+function testUndefinedBooleanCmp()
+{
+    var t = true, f = false, x = [];
+    for (var i = 0; i < 10; ++i) {
+	x[0] = t == undefined;
+	x[1] = t != undefined;
+	x[2] = t === undefined;
+	x[3] = t !== undefined;
+	x[4] = t < undefined;
+	x[5] = t > undefined;
+	x[6] = t <= undefined;
+	x[7] = t >= undefined;
+	x[8] = f == undefined;
+	x[9] = f != undefined;
+	x[10] = f === undefined;
+	x[11] = f !== undefined;
+	x[12] = f < undefined;
+	x[13] = f > undefined;
+	x[14] = f <= undefined;
+	x[15] = f >= undefined;
+    }
+    return x.join(",");
+}
+testUndefinedBooleanCmp.expected = "false,true,false,true,false,false,false,false,false,true,false,true,false,false,false,false";
+test(testUndefinedBooleanCmp);
+
+function testConstantBooleanExpr()
+{
+    for (var j = 0; j < 3; ++j) { if(true <= true) { } }
+    return "ok";
+}
+testConstantBooleanExpr.expected = "ok";
+test(testConstantBooleanExpr);
+
+function testNegativeGETELEMIndex()
+{
+    for (let i=0;i<3;++i) /x/[-4];
+    return "ok";
+}
+testNegativeGETELEMIndex.expected = "ok";
+test(testNegativeGETELEMIndex);
+
+function doTestInvalidCharCodeAt(input)
+{
+    var q = "";
+    for (var i = 0; i < 10; i++)
+       q += input.charCodeAt(i);
+    return q;
+}
+function testInvalidCharCodeAt()
+{
+    return doTestInvalidCharCodeAt("");
+}
+testInvalidCharCodeAt.expected = "NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN";
+test(testInvalidCharCodeAt);
+
 jit(false);
 
 /* Keep these at the end so that we can see the summary after the trace-debug spew. */
-print("\npassed:", passes.length && passes.join(","));
-print("\nFAILED:", fails.length && fails.join(","));
+if (0) {
+  print("\npassed:", passes.length && passes.join(","));
+  print("\nFAILED:", fails.length && fails.join(","));
+}
--- a/js/tests/public-failures.txt
+++ b/js/tests/public-failures.txt
@@ -281,17 +281,17 @@ TEST_ID=js1_5/GC/regress-383269-02.js, T
 TEST_ID=js1_5/GC/regress-383269-02.js, TEST_BRANCH=1.8.1, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=shell, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=ABNORMAL.*, TEST_DESCRIPTION=`.``*`uncaught exception: generate_big_object_graph() leaked
 TEST_ID=js1_5/GC/regress-383269-02.js, TEST_BRANCH=1.8.1, TEST_REPO=.*, TEST_BUILDTYPE=opt, TEST_TYPE=browser, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=intel64, TEST_MEMORY=.*, TEST_CPUSPEED=medium, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=Unknown reason: :0: uncaught exception: generate_big_object_graph() leaked
 TEST_ID=js1_5/GC/regress-383269-02.js, TEST_BRANCH=1.8.1, TEST_REPO=.*, TEST_BUILDTYPE=opt, TEST_TYPE=browser, TEST_OS=linux, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=fast, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=`.``*`uncaught exception: generate_big_object_graph() leaked
 TEST_ID=js1_5/Regress/regress-203278-1.js, TEST_BRANCH=1.9.0, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=shell, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=intel64, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=ABNORMAL 5, TEST_DESCRIPTION=`.``*`/js1_5/Regress/regress-203278-1.js:`.``*`: out of memory
 TEST_ID=js1_5/Regress/regress-203278-1.js, TEST_BRANCH=1.9.1, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=shell, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=intel64, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=ABNORMAL 5, TEST_DESCRIPTION=`.``*`/js1_5/Regress/regress-203278-1.js:`.``*`: out of memory
 TEST_ID=js1_5/Regress/regress-271716-n.js, TEST_BRANCH=.*, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=shell, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=.*, TEST_DESCRIPTION=`.``*`/js1_5/Regress/regress-271716-n.js:`.``*`: out of memory
 TEST_ID=js1_5/Regress/regress-271716-n.js, TEST_BRANCH=1.8.1, TEST_REPO=.*, TEST_BUILDTYPE=debug, TEST_TYPE=browser, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=TIMED OUT, TEST_DESCRIPTION=
 TEST_ID=js1_5/Regress/regress-271716-n.js, TEST_BRANCH=1.8.1, TEST_REPO=.*, TEST_BUILDTYPE=opt, TEST_TYPE=browser, TEST_OS=.*, TEST_KERNEL=8.11.0, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=TIMED OUT, TEST_DESCRIPTION=
-TEST_ID=js1_5/Regress/regress-271716-n.js, TEST_BRANCH=1.8.1, TEST_REPO=.*, TEST_BUILDTYPE=opt, TEST_TYPE=browser, TEST_OS=.*, TEST_KERNEL=8.11.1, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=CRASHED signal 6 SIGABRT, TEST_DESCRIPTION=; messages: BUGNUMBER: 271716; /js1_5/Regress/regress-271716-n.js:0: out of memory
+TEST_ID=js1_5/Regress/regress-271716-n.js, TEST_BRANCH=1.8.1, TEST_REPO=.*, TEST_BUILDTYPE=opt, TEST_TYPE=browser, TEST_OS=.*, TEST_KERNEL=8.11.1, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=CRASHED.*, TEST_DESCRIPTION=; messages: BUGNUMBER: 271716; /js1_5/Regress/regress-271716-n.js:0: out of memory
 TEST_ID=js1_5/Regress/regress-271716-n.js, TEST_BRANCH=1.8.1, TEST_REPO=.*, TEST_BUILDTYPE=opt, TEST_TYPE=browser, TEST_OS=.*, TEST_KERNEL=9.5.0, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=TIMED OUT, TEST_DESCRIPTION=
 TEST_ID=js1_5/Regress/regress-271716-n.js, TEST_BRANCH=1.8.1, TEST_REPO=.*, TEST_BUILDTYPE=opt, TEST_TYPE=browser, TEST_OS=linux, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=TIMED OUT, TEST_DESCRIPTION=
 TEST_ID=js1_5/Regress/regress-271716-n.js, TEST_BRANCH=1.8.1, TEST_REPO=.*, TEST_BUILDTYPE=opt, TEST_TYPE=browser, TEST_OS=nt, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=TIMED OUT, TEST_DESCRIPTION=
 TEST_ID=js1_5/Regress/regress-271716-n.js, TEST_BRANCH=1.9.0, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=browser, TEST_OS=darwin, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=.*, TEST_DESCRIPTION=`.``*`/js1_5/Regress/regress-271716-n.js:`.``*`: out of memory
 TEST_ID=js1_5/Regress/regress-271716-n.js, TEST_BRANCH=1.9.0, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=browser, TEST_OS=linux, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=TIMED OUT, TEST_DESCRIPTION=
 TEST_ID=js1_5/Regress/regress-271716-n.js, TEST_BRANCH=1.9.0, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=browser, TEST_OS=nt, TEST_KERNEL=.*, TEST_PROCESSORTYPE=amd32, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=TIMED OUT, TEST_DESCRIPTION=
 TEST_ID=js1_5/Regress/regress-271716-n.js, TEST_BRANCH=1.9.0, TEST_REPO=.*, TEST_BUILDTYPE=debug, TEST_TYPE=browser, TEST_OS=nt, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=.*, TEST_DESCRIPTION=`.``*`/js1_5/Regress/regress-271716-n.js:`.``*`: out of memory
 TEST_ID=js1_5/Regress/regress-271716-n.js, TEST_BRANCH=1.9.0, TEST_REPO=.*, TEST_BUILDTYPE=opt, TEST_TYPE=browser, TEST_OS=darwin, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=.* SIGABRT, TEST_DESCRIPTION=`.``*`/js1_5/Regress/regress-271716-n.js:`.``*`: out of memory
@@ -306,17 +306,17 @@ TEST_ID=js1_5/Regress/regress-274035.js,
 TEST_ID=js1_5/Regress/regress-303213.js, TEST_BRANCH=1.8.1, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=browser, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=No test results reported
 TEST_ID=js1_5/Regress/regress-303213.js, TEST_BRANCH=1.9.0, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=browser, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=intel64, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=No test results reported
 TEST_ID=js1_5/Regress/regress-303213.js, TEST_BRANCH=1.9.0, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=browser, TEST_OS=nt, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=No test results reported
 TEST_ID=js1_5/Regress/regress-303213.js, TEST_BRANCH=1.9.1, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=browser, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=intel64, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=No test results reported
 TEST_ID=js1_5/Regress/regress-303213.js, TEST_BRANCH=1.9.1, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=browser, TEST_OS=nt, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=No test results reported
 TEST_ID=js1_5/Regress/regress-312588.js, TEST_BRANCH=1.8.1, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=shell, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=ABNORMAL.*, TEST_DESCRIPTION=`.``*`/js1_5/Regress/regress-312588.js:`.``*`: out of memory
 TEST_ID=js1_5/Regress/regress-312588.js, TEST_BRANCH=1.8.1, TEST_REPO=.*, TEST_BUILDTYPE=debug, TEST_TYPE=browser, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=TIMED OUT, TEST_DESCRIPTION=
 TEST_ID=js1_5/Regress/regress-312588.js, TEST_BRANCH=1.8.1, TEST_REPO=.*, TEST_BUILDTYPE=opt, TEST_TYPE=browser, TEST_OS=.*, TEST_KERNEL=8.11.0, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=TIMED OUT, TEST_DESCRIPTION=
-TEST_ID=js1_5/Regress/regress-312588.js, TEST_BRANCH=1.8.1, TEST_REPO=.*, TEST_BUILDTYPE=opt, TEST_TYPE=browser, TEST_OS=.*, TEST_KERNEL=8.11.1, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=CRASHED signal 6 SIGABRT, TEST_DESCRIPTION=; messages: BUGNUMBER: 312588; /js1_5/Regress/regress-312588.js:0: out of memory
+TEST_ID=js1_5/Regress/regress-312588.js, TEST_BRANCH=1.8.1, TEST_REPO=.*, TEST_BUILDTYPE=opt, TEST_TYPE=browser, TEST_OS=.*, TEST_KERNEL=8.11.1, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=CRASHED.*, TEST_DESCRIPTION=; messages: BUGNUMBER: 312588; /js1_5/Regress/regress-312588.js:0: out of memory
 TEST_ID=js1_5/Regress/regress-312588.js, TEST_BRANCH=1.8.1, TEST_REPO=.*, TEST_BUILDTYPE=opt, TEST_TYPE=browser, TEST_OS=.*, TEST_KERNEL=9.5.0, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=TIMED OUT, TEST_DESCRIPTION=
 TEST_ID=js1_5/Regress/regress-312588.js, TEST_BRANCH=1.8.1, TEST_REPO=.*, TEST_BUILDTYPE=opt, TEST_TYPE=browser, TEST_OS=linux, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=TIMED OUT, TEST_DESCRIPTION=
 TEST_ID=js1_5/Regress/regress-312588.js, TEST_BRANCH=1.8.1, TEST_REPO=.*, TEST_BUILDTYPE=opt, TEST_TYPE=browser, TEST_OS=nt, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=TIMED OUT, TEST_DESCRIPTION=
 TEST_ID=js1_5/Regress/regress-314401.js, TEST_BRANCH=1.8.1, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=browser, TEST_OS=.*, TEST_KERNEL=8.11.0, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=TIMED OUT, TEST_DESCRIPTION=
 TEST_ID=js1_5/Regress/regress-314401.js, TEST_BRANCH=1.8.1, TEST_REPO=.*, TEST_BUILDTYPE=debug, TEST_TYPE=browser, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=amd32, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=TIMED OUT, TEST_DESCRIPTION=
 TEST_ID=js1_5/Regress/regress-314401.js, TEST_BRANCH=1.8.1, TEST_REPO=.*, TEST_BUILDTYPE=opt, TEST_TYPE=.*, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=amd32, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=TIMED OUT, TEST_DESCRIPTION=
 TEST_ID=js1_5/Regress/regress-314401.js, TEST_BRANCH=1.8.1, TEST_REPO=.*, TEST_BUILDTYPE=opt, TEST_TYPE=browser, TEST_OS=linux, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=slow, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=TIMED OUT, TEST_DESCRIPTION=
 TEST_ID=js1_5/Regress/regress-319384.js, TEST_BRANCH=1.8.1, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=browser, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=`.``*`/js1_5/Regress/regress-319384.js:`.``*`: can't convert "foo" to an integer
@@ -353,16 +353,20 @@ TEST_ID=js1_5/Regress/regress-3649-n.js,
 TEST_ID=js1_5/Regress/regress-383674.js, TEST_BRANCH=1.8.1, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=.*, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=Statement that implicitly calls toString should not be optimized away as a "useless expression": 1 reason: Expected value 'toString called', Actual value 'toString not called'
 TEST_ID=js1_5/Regress/regress-383674.js, TEST_BRANCH=1.8.1, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=.*, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=Statement that implicitly calls toString should not be optimized away as a "useless expression": 2 reason: Expected value 'toString called', Actual value 'toString not called'
 TEST_ID=js1_5/Regress/regress-422348.js, TEST_BRANCH=1.8.1, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=browser, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=No test results reported
 TEST_ID=js1_5/Regress/regress-422348.js, TEST_BRANCH=1.8.1, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=shell, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=ABNORMAL.*, TEST_DESCRIPTION=`.``*`/js1_5/Regress/regress-422348.js:`.``*`: out of memory
 TEST_ID=js1_5/Regress/regress-422348.js, TEST_BRANCH=1.9.0, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=browser, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=intel64, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=No test results reported
 TEST_ID=js1_5/Regress/regress-422348.js, TEST_BRANCH=1.9.0, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=shell, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=intel64, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=ABNORMAL 5, TEST_DESCRIPTION=`.``*`/js1_5/Regress/regress-422348.js:`.``*`: out of memory
 TEST_ID=js1_5/Regress/regress-422348.js, TEST_BRANCH=1.9.1, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=browser, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=intel64, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=No test results reported
 TEST_ID=js1_5/Regress/regress-422348.js, TEST_BRANCH=1.9.1, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=shell, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=intel64, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=ABNORMAL 5, TEST_DESCRIPTION=`.``*`/js1_5/Regress/regress-422348.js:`.``*`: out of memory
+TEST_ID=js1_5/Regress/regress-457456.js, TEST_BRANCH=1.9.1, TEST_REPO=mozilla-central, TEST_BUILDTYPE=debug, TEST_TYPE=shell, TEST_OS=darwin, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=CRASHED.*, TEST_DESCRIPTION=`.``*`Assertion failed: cond->isCond()
+TEST_ID=js1_5/Regress/regress-457456.js, TEST_BRANCH=1.9.1, TEST_REPO=mozilla-central, TEST_BUILDTYPE=debug, TEST_TYPE=shell, TEST_OS=linux, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=CRASHED.*, TEST_DESCRIPTION=`.``*`Assertion failed: cond->isCond()
+TEST_ID=js1_5/Regress/regress-457778.js, TEST_BRANCH=1.9.1, TEST_REPO=mozilla-central, TEST_BUILDTYPE=debug, TEST_TYPE=shell, TEST_OS=darwin, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=CRASHED.*, TEST_DESCRIPTION=`.``*`Assertion failed: cond->isCond()
+TEST_ID=js1_5/Regress/regress-457778.js, TEST_BRANCH=1.9.1, TEST_REPO=mozilla-central, TEST_BUILDTYPE=debug, TEST_TYPE=shell, TEST_OS=linux, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=CRASHED.*, TEST_DESCRIPTION=`.``*`Assertion failed: cond->isCond()
 TEST_ID=js1_5/decompilation/regress-351219.js, TEST_BRANCH=1.8.1, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=.*, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=Decompilation of immutable infinity, NaN decompile Infinity as 1/0 reason: Expected value ' function ( ) { return 1 / 0 ; } ', Actual value ' function ( ) { return Infinity ; } '
 TEST_ID=js1_5/decompilation/regress-351219.js, TEST_BRANCH=1.8.1, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=.*, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=Decompilation of immutable infinity, NaN: decompile NaN as 0/0 reason: Expected value ' function ( ) { var NaN = 0 / 0 ; return NaN ; } ', Actual value ' function ( ) { var NaN = NaN ; return NaN ; } '
 TEST_ID=js1_5/decompilation/regress-352013.js, TEST_BRANCH=1.8.1, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=.*, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=decompilation of new parenthetic expressions reason: Expected value ' function ( ) { new ( x ( y ) ( z ) ) ; } ', Actual value ' function ( ) { new x ( y ) ( z ) ; } '
 TEST_ID=js1_5/decompilation/regress-352013.js, TEST_BRANCH=1.8.1, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=.*, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=decompilation of new parenthetic expressions reason: Expected value ' function ( ) { new ( x ( y ) . z ) ; } ', Actual value ' function ( ) { new x ( y ) . z ; } '
 TEST_ID=js1_5/decompilation/regress-352013.js, TEST_BRANCH=1.8.1, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=.*, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=decompilation of new parenthetic expressions reason: Expected value ' function ( ) { new ( x ( z ) ) ( w ) ; } ', Actual value ' function ( ) { new x ( z ) ( w ) ; } '
 TEST_ID=js1_5/decompilation/regress-352360.js, TEST_BRANCH=1.8.1, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=.*, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=Decompilation of negative 0 reason: Expected value ' function ( ) { return - 0 ; } ', Actual value ' function ( ) { return 0 ; } '
 TEST_ID=js1_5/decompilation/regress-352360.js, TEST_BRANCH=1.8.1, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=.*, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=Decompilation of negative 0: 8 / eval("" + f)() reason: Expected value '-Infinity', Actual value 'Infinity'
 TEST_ID=js1_5/decompilation/regress-352453.js, TEST_BRANCH=1.8.1, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=browser, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=`.``*`/js1_5/decompilation/regress-352453.js:`.``*`: invalid decrement operand
@@ -455,40 +459,45 @@ TEST_ID=js1_5/extensions/regress-380889.
 TEST_ID=js1_5/extensions/regress-381205.js, TEST_BRANCH=1.8.1, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=.*, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=uneval with special getter functions: global reason: Expected value '({get x p() {print(4);}})', Actual value '({get x () {print(4);})'
 TEST_ID=js1_5/extensions/regress-381304.js, TEST_BRANCH=1.8.1, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=browser, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=`.``*`/js1_5/extensions/regress-381304.js:`.``*`: missing : after property id
 TEST_ID=js1_5/extensions/regress-381304.js, TEST_BRANCH=1.8.1, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=shell, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=ABNORMAL.*, TEST_DESCRIPTION=`.``*`/js1_5/extensions/regress-381304.js:`.``*`: SyntaxError: missing : after property id
 TEST_ID=js1_5/extensions/regress-385134.js, TEST_BRANCH=1.8.1, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=shell, TEST_OS=darwin, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=CRASHED.*, TEST_DESCRIPTION=
 TEST_ID=js1_5/extensions/regress-385134.js, TEST_BRANCH=1.8.1, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=shell, TEST_OS=linux, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=CRASHED.*, TEST_DESCRIPTION=
 TEST_ID=js1_5/extensions/regress-385134.js, TEST_BRANCH=1.8.1, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=shell, TEST_OS=nt, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=ABNORMAL.*, TEST_DESCRIPTION=
 TEST_ID=js1_5/extensions/regress-394967.js, TEST_BRANCH=1.8.1, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=shell, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=No test results reported
 TEST_ID=js1_5/extensions/regress-407019.js, TEST_BRANCH=1.8.1, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=browser, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=Do not assert: !JS_IsExceptionPending(cx) - Browser only reason: Expected match to '/Illegal operation on WrappedNative prototype object/', Actual value 'TypeError: window.Option is not a function'
+TEST_ID=js1_5/extensions/regress-421621.js, TEST_BRANCH=.*, TEST_REPO=CVS, TEST_BUILDTYPE=debug, TEST_TYPE=shell, TEST_OS=darwin, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=CRASHED.*, TEST_DESCRIPTION=`.``*`Assertion failure: (sprop)->slot != SPROP_INVALID_SLOT || !SPROP_HAS_STUB_SETTER(sprop), at `.``*`jsinterp.c:
+TEST_ID=js1_5/extensions/regress-421621.js, TEST_BRANCH=.*, TEST_REPO=CVS, TEST_BUILDTYPE=debug, TEST_TYPE=shell, TEST_OS=linux, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=CRASHED.*, TEST_DESCRIPTION=`.``*`Assertion failure: (sprop)->slot != SPROP_INVALID_SLOT || !SPROP_HAS_STUB_SETTER(sprop), at `.``*`jsinterp.c:
+TEST_ID=js1_5/extensions/regress-421621.js, TEST_BRANCH=1.9.0, TEST_REPO=CVS, TEST_BUILDTYPE=debug, TEST_TYPE=shell, TEST_OS=nt, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=ABNORMAL 3, TEST_DESCRIPTION=
+TEST_ID=js1_5/extensions/regress-421621.js, TEST_BRANCH=1.9.0, TEST_REPO=CVS, TEST_BUILDTYPE=opt, TEST_TYPE=shell, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=ABNORMAL 3, TEST_DESCRIPTION=; messages: BUGNUMBER: 421621; ./shell.js:`.``*`: TypeError: gTestcases[i].dump is not a function
 TEST_ID=js1_5/extensions/regress-422592.js, TEST_BRANCH=1.8.1, TEST_REPO=.*, TEST_BUILDTYPE=debug, TEST_TYPE=shell, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=No test results reported
 TEST_ID=js1_5/extensions/regress-422592.js, TEST_BRANCH=1.9.0, TEST_REPO=.*, TEST_BUILDTYPE=debug, TEST_TYPE=shell, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=No test results reported
+TEST_ID=js1_5/extensions/regress-432075.js, TEST_BRANCH=1.9.0, TEST_REPO=CVS, TEST_BUILDTYPE=.*, TEST_TYPE=shell, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=ABNORMAL 3, TEST_DESCRIPTION=; messages: BUGNUMBER: 432075; expect:;  function anonymous ( ) { }; actual:;  [ object Function ]; ./shell.js:`.``*`: TypeError: gTestcases[i].dump is not a function
 TEST_ID=js1_5/extensions/regress-435345-01.js, TEST_BRANCH=1.9.0, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=.*, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=Watch the length property of arrays: 1 reason: Expected value 'watcher: propname=length, oldval=0, newval=1; ', Actual value ''
 TEST_ID=js1_5/extensions/regress-435345-01.js, TEST_BRANCH=1.9.0, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=.*, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=Watch the length property of arrays: 2 reason: Expected value 'watcher: propname=length, oldval=1, newval=2; watcher: propname=length, oldval=2, newval=2; ', Actual value 'watcher: propname=length, oldval=undefined, newval=2; '
 TEST_ID=js1_5/extensions/regress-435345-01.js, TEST_BRANCH=1.9.0, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=.*, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=Watch the length property of arrays: 3 reason: Expected value 'watcher: propname=length, oldval=2, newval=1; ', Actual value 'watcher: propname=length, oldval=undefined, newval=1; '
 TEST_ID=js1_5/extensions/regress-435345-01.js, TEST_BRANCH=1.9.0, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=.*, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=Watch the length property of arrays: 4 reason: Expected value 'watcher: propname=length, oldval=1, newval=2; ', Actual value 'watcher: propname=length, oldval=undefined, newval=2; '
 TEST_ID=js1_5/extensions/regress-435345-01.js, TEST_BRANCH=1.9.0, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=.*, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=Watch the length property of arrays: 5 reason: Expected value 'watcher: propname=length, oldval=2, newval=5; ', Actual value 'watcher: propname=length, oldval=undefined, newval=5; '
 TEST_ID=js1_5/extensions/regress-435345-01.js, TEST_BRANCH=1.9.1, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=.*, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=Watch the length property of arrays: 1 reason: Expected value 'watcher: propname=length, oldval=0, newval=1; ', Actual value ''
 TEST_ID=js1_5/extensions/regress-435345-01.js, TEST_BRANCH=1.9.1, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=.*, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=Watch the length property of arrays: 2 reason: Expected value 'watcher: propname=length, oldval=1, newval=2; watcher: propname=length, oldval=2, newval=2; ', Actual value 'watcher: propname=length, oldval=undefined, newval=2; '
 TEST_ID=js1_5/extensions/regress-435345-01.js, TEST_BRANCH=1.9.1, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=.*, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=Watch the length property of arrays: 3 reason: Expected value 'watcher: propname=length, oldval=2, newval=1; ', Actual value 'watcher: propname=length, oldval=undefined, newval=1; '
 TEST_ID=js1_5/extensions/regress-435345-01.js, TEST_BRANCH=1.9.1, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=.*, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=Watch the length property of arrays: 4 reason: Expected value 'watcher: propname=length, oldval=1, newval=2; ', Actual value 'watcher: propname=length, oldval=undefined, newval=2; '
 TEST_ID=js1_5/extensions/regress-435345-01.js, TEST_BRANCH=1.9.1, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=.*, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=Watch the length property of arrays: 5 reason: Expected value 'watcher: propname=length, oldval=2, newval=5; ', Actual value 'watcher: propname=length, oldval=undefined, newval=5; '
 TEST_ID=js1_5/extensions/regress-452178.js, TEST_BRANCH=1.8.1, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=browser, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=`.``*`/js1_5/extensions/regress-452178.js:`.``*`: setting a property that has only a getter
 TEST_ID=js1_5/extensions/regress-452178.js, TEST_BRANCH=1.8.1, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=shell, TEST_OS=nt, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=ABNORMAL 3, TEST_DESCRIPTION=`.``*`/js1_5/extensions/regress-452178.js:`.``*`: TypeError: setting a property that has only a getter
-TEST_ID=js1_5/extensions/regress-452329.js, TEST_BRANCH=.*, TEST_REPO=.*, TEST_BUILDTYPE=debug, TEST_TYPE=.*, TEST_OS=linux, TEST_KERNEL=.*, TEST_PROCESSORTYPE=amd32, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=CRASHED signal 5 SIGTRAP, TEST_DESCRIPTION=`.``*`Assertion failure: *fp->regs->pc == JSOP_CALL || *fp->regs->pc == JSOP_NEW, at `.``*`jsstr.c:
+TEST_ID=js1_5/extensions/regress-452329.js, TEST_BRANCH=.*, TEST_REPO=.*, TEST_BUILDTYPE=debug, TEST_TYPE=.*, TEST_OS=linux, TEST_KERNEL=.*, TEST_PROCESSORTYPE=amd32, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=CRASHED.*, TEST_DESCRIPTION=`.``*`Assertion failure: *fp->regs->pc == JSOP_CALL || *fp->regs->pc == JSOP_NEW, at `.``*`jsstr.c:
 TEST_ID=js1_5/extensions/regress-452329.js, TEST_BRANCH=1.8.1, TEST_REPO=.*, TEST_BUILDTYPE=debug, TEST_TYPE=shell, TEST_OS=darwin, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=CRASHED.*, TEST_DESCRIPTION=`.``*`Assertion failure: *fp->pc == JSOP_CALL || *fp->pc == JSOP_NEW, at `.``*`jsstr.c:
 TEST_ID=js1_5/extensions/regress-452329.js, TEST_BRANCH=1.8.1, TEST_REPO=.*, TEST_BUILDTYPE=debug, TEST_TYPE=shell, TEST_OS=linux, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=CRASHED.*, TEST_DESCRIPTION=`.``*`Assertion failure: *fp->pc == JSOP_CALL || *fp->pc == JSOP_NEW, at `.``*`jsstr.c:
 TEST_ID=js1_5/extensions/regress-452329.js, TEST_BRANCH=1.8.1, TEST_REPO=.*, TEST_BUILDTYPE=debug, TEST_TYPE=shell, TEST_OS=nt, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=ABNORMAL 3, TEST_DESCRIPTION=;
 TEST_ID=js1_5/extensions/regress-452329.js, TEST_BRANCH=1.9.0, TEST_REPO=.*, TEST_BUILDTYPE=debug, TEST_TYPE=.*, TEST_OS=darwin, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=CRASHED.*, TEST_DESCRIPTION=`.``*`Assertion failure: *fp->regs->pc == JSOP_CALL || *fp->regs->pc == JSOP_NEW, at `.``*`jsstr.c:
-TEST_ID=js1_5/extensions/regress-452329.js, TEST_BRANCH=1.9.0, TEST_REPO=.*, TEST_BUILDTYPE=debug, TEST_TYPE=.*, TEST_OS=linux, TEST_KERNEL=.*, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=CRASHED signal 5 SIGTRAP, TEST_DESCRIPTION=`.``*`Assertion failure: *fp->regs->pc == JSOP_CALL || *fp->regs->pc == JSOP_NEW, at `.``*`jsstr.c:
+TEST_ID=js1_5/extensions/regress-452329.js, TEST_BRANCH=1.9.0, TEST_REPO=.*, TEST_BUILDTYPE=debug, TEST_TYPE=.*, TEST_OS=linux, TEST_KERNEL=.*, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=CRASHED.*, TEST_DESCRIPTION=`.``*`Assertion failure: *fp->regs->pc == JSOP_CALL || *fp->regs->pc == JSOP_NEW, at `.``*`jsstr.c:
 TEST_ID=js1_5/extensions/regress-452329.js, TEST_BRANCH=1.9.0, TEST_REPO=.*, TEST_BUILDTYPE=debug, TEST_TYPE=.*, TEST_OS=nt, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=ABNORMAL 3, TEST_DESCRIPTION=;
 TEST_ID=js1_5/extensions/regress-452329.js, TEST_BRANCH=1.9.0, TEST_REPO=.*, TEST_BUILDTYPE=debug, TEST_TYPE=browser, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=intel64, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=ABNORMAL.*, TEST_DESCRIPTION=`.``*`Assertion failure: *fp->regs->pc == JSOP_CALL || *fp->regs->pc == JSOP_NEW, at `.``*`jsstr.c:
 TEST_ID=js1_5/extensions/regress-452329.js, TEST_BRANCH=1.9.0, TEST_REPO=.*, TEST_BUILDTYPE=debug, TEST_TYPE=browser, TEST_OS=nt, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=ABNORMAL 3, TEST_DESCRIPTION=
-TEST_ID=js1_5/extensions/regress-452329.js, TEST_BRANCH=1.9.0, TEST_REPO=.*, TEST_BUILDTYPE=debug, TEST_TYPE=shell, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=intel64, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=CRASHED signal 6 SIGABRT, TEST_DESCRIPTION=`.``*`Assertion failure: *fp->regs->pc == JSOP_CALL || *fp->regs->pc == JSOP_NEW, at `.``*`jsstr.c:
+TEST_ID=js1_5/extensions/regress-452329.js, TEST_BRANCH=1.9.0, TEST_REPO=.*, TEST_BUILDTYPE=debug, TEST_TYPE=shell, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=intel64, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=CRASHED.*, TEST_DESCRIPTION=`.``*`Assertion failure: *fp->regs->pc == JSOP_CALL || *fp->regs->pc == JSOP_NEW, at `.``*`jsstr.c:
 TEST_ID=js1_5/extensions/toLocaleFormat-01.js, TEST_BRANCH=1.8.1, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=.*, TEST_OS=darwin, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=Date.toLocaleFormat("%Y %y") reason: Expected value '-1 99', Actual value '-001 -1'
 TEST_ID=js1_5/extensions/toLocaleFormat-01.js, TEST_BRANCH=1.8.1, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=.*, TEST_OS=darwin, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=Date.toLocaleFormat("%Y %y") reason: Expected value '-51 49', Actual value '-051 -51'
 TEST_ID=js1_5/extensions/toLocaleFormat-01.js, TEST_BRANCH=1.8.1, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=.*, TEST_OS=darwin, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=Date.toLocaleFormat("%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y") reason: Expected value '-51-51-51-51-51-51-51-51-51-51-51-51-51-51-51-51-51-51-51-51-51-51', Actual value '-051-051-051-051-051-051-051-051-051-051-051-051-051-051-051-051-051-051-051-051-051-051'
 TEST_ID=js1_5/extensions/toLocaleFormat-01.js, TEST_BRANCH=1.8.1, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=.*, TEST_OS=darwin, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=Date.toLocaleFormat("xxx%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y") reason: Expected value 'xxx-51-51-51-51-51-51-51-51-51-51-51-51-51-51-51-51-51-51-51-51-51-51-51-51', Actual value 'xxx-051-051-051-051-051-051-051-051-051-051-051-051-051-051-051-051-051-051-051-051-051-051-051-051'
 TEST_ID=js1_5/extensions/toLocaleFormat-01.js, TEST_BRANCH=1.8.1, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=.*, TEST_OS=linux, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=Date.toLocaleFormat("xxxx%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y") reason: Expected value 'Sat Jan 01 -0051 00:00:00 `.``*`', Actual value 'xxxx-51-51-51-51-51-51-51-51-51-51-51-51-51-51-51-51-51-51-51-51-51-51-51-51'
 TEST_ID=js1_5/extensions/toLocaleFormat-01.js, TEST_BRANCH=1.8.1, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=.*, TEST_OS=nt, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=Date.toLocaleFormat("%Y %y") reason: Expected value '-1 99', Actual value '000/ 0/'
 TEST_ID=js1_5/extensions/toLocaleFormat-01.js, TEST_BRANCH=1.8.1, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=.*, TEST_OS=nt, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=Date.toLocaleFormat("%Y %y") reason: Expected value '-100 00', Actual value '0/00 00'
 TEST_ID=js1_5/extensions/toLocaleFormat-01.js, TEST_BRANCH=1.8.1, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=.*, TEST_OS=nt, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=Date.toLocaleFormat("%Y %y") reason: Expected value '-51 49', Actual value '00+/ +/'
@@ -522,20 +531,25 @@ TEST_ID=js1_5/extensions/toLocaleFormat-
 TEST_ID=js1_5/extensions/toLocaleFormat-02.js, TEST_BRANCH=1.9.1, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=.*, TEST_OS=nt, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=Date.toLocaleFormat("%C%y") == Date.toLocaleFormat("%Y") reason: Expected value 'Sat Jun 04 2005 `.``*`', Actual value '2005'
 TEST_ID=js1_6/Array/regress-320887.js, TEST_BRANCH=1.8.1, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=.*, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=var x should not throw a ReferenceError reason: Expected value 'No error', Actual value 'ReferenceError: x is not defined'
 TEST_ID=js1_6/Array/regress-386030.js, TEST_BRANCH=1.8.1, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=.*, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=Array.reduce should ignore holes: 1 reason: Expected value 'PASS', Actual value 'FAIL, reduce'
 TEST_ID=js1_6/Array/regress-386030.js, TEST_BRANCH=1.8.1, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=.*, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=Array.reduce should ignore holes: 2 reason: Expected value 'PASS', Actual value 'FAIL, reduceRight'
 TEST_ID=js1_6/Regress/regress-353078.js, TEST_BRANCH=.*, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=browser, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=Do not assert with bogus toString, map, split reason: Expected value 'TypeError: can't convert global to string', Actual value 'No Crash'
 TEST_ID=js1_6/extensions/regress-455464-04.js, TEST_BRANCH=1.8.1, TEST_REPO=.*, TEST_BUILDTYPE=debug, TEST_TYPE=browser, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=TIMED OUT, TEST_DESCRIPTION=
 TEST_ID=js1_6/extensions/regress-455464-04.js, TEST_BRANCH=1.9.0, TEST_REPO=.*, TEST_BUILDTYPE=debug, TEST_TYPE=browser, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=TIMED OUT, TEST_DESCRIPTION=
 TEST_ID=js1_6/extensions/regress-455464-04.js, TEST_BRANCH=1.9.1, TEST_REPO=.*, TEST_BUILDTYPE=debug, TEST_TYPE=browser, TEST_OS=.*, TEST_KERNEL=8.11.1, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=CRASHED signal 10 SIGBUS, TEST_DESCRIPTION=
-TEST_ID=js1_6/extensions/regress-455464-04.js, TEST_BRANCH=1.9.1, TEST_REPO=.*, TEST_BUILDTYPE=debug, TEST_TYPE=browser, TEST_OS=.*, TEST_KERNEL=8.11.1, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=CRASHED signal 5 SIGTRAP, TEST_DESCRIPTION=
-TEST_ID=js1_6/extensions/regress-455464-04.js, TEST_BRANCH=1.9.1, TEST_REPO=.*, TEST_BUILDTYPE=debug, TEST_TYPE=browser, TEST_OS=.*, TEST_KERNEL=9.5.0, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=CRASHED signal 5 SIGTRAP, TEST_DESCRIPTION=`.``*`Assertion failure: ngslots == tm->globalTypeMap->length(), at `.``*`jstracer.cpp:
+TEST_ID=js1_6/extensions/regress-455464-04.js, TEST_BRANCH=1.9.1, TEST_REPO=.*, TEST_BUILDTYPE=debug, TEST_TYPE=browser, TEST_OS=.*, TEST_KERNEL=8.11.1, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=CRASHED.*, TEST_DESCRIPTION=
+TEST_ID=js1_6/extensions/regress-455464-04.js, TEST_BRANCH=1.9.1, TEST_REPO=.*, TEST_BUILDTYPE=debug, TEST_TYPE=browser, TEST_OS=.*, TEST_KERNEL=9.5.0, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=CRASHED.*, TEST_DESCRIPTION=`.``*`Assertion failure: ngslots == tm->globalTypeMap->length(), at `.``*`jstracer.cpp:
 TEST_ID=js1_6/extensions/regress-455464-04.js, TEST_BRANCH=1.9.1, TEST_REPO=.*, TEST_BUILDTYPE=debug, TEST_TYPE=browser, TEST_OS=linux, TEST_KERNEL=.*, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=ABNORMAL 11, TEST_DESCRIPTION=
 TEST_ID=js1_6/extensions/regress-455464-04.js, TEST_BRANCH=1.9.1, TEST_REPO=.*, TEST_BUILDTYPE=debug, TEST_TYPE=browser, TEST_OS=nt, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=ABNORMAL 5, TEST_DESCRIPTION=
+TEST_ID=js1_6/extensions/regress-456826.js, TEST_BRANCH=1.9.0, TEST_REPO=CVS, TEST_BUILDTYPE=debug, TEST_TYPE=shell, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=ABNORMAL 5, TEST_DESCRIPTION=; messages: BUGNUMBER: 456826; ./js1_6/extensions/regress-456826.js:`.``*`: out of memory; ./js1_6/extensions/regress-456826.js:`.``*`: out of memory; ./js1_6/extensions/regress-456826.js:`.``*`: Date is not defined; ./shell.js:`.``*`: out of memory
+TEST_ID=js1_6/extensions/regress-456826.js, TEST_BRANCH=1.9.0, TEST_REPO=CVS, TEST_BUILDTYPE=opt, TEST_TYPE=shell, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=ABNORMAL 5, TEST_DESCRIPTION=; messages: BUGNUMBER: 456826; ./js1_6/extensions/regress-456826.js:`.``*`: out of memory; ./js1_6/extensions/regress-456826.js:`.``*`: ReferenceError: Date is not defined; ./shell.js:`.``*`: out of memory
+TEST_ID=js1_6/extensions/regress-456826.js, TEST_BRANCH=1.9.1, TEST_REPO=mozilla-central, TEST_BUILDTYPE=debug, TEST_TYPE=shell, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=ABNORMAL 3, TEST_DESCRIPTION=; messages: BUGNUMBER: 456826; ./js1_6/extensions/regress-456826.js:`.``*`: out of memory; ./js1_6/extensions/regress-456826.js:`.``*`: out of memory; ./js1_6/extensions/regress-456826.js:`.``*`: Math is not defined
+TEST_ID=js1_6/extensions/regress-456826.js, TEST_BRANCH=1.9.1, TEST_REPO=mozilla-central, TEST_BUILDTYPE=debug, TEST_TYPE=shell, TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel64, TEST_MEMORY=4, TEST_CPUSPEED=fast, TEST_TIMEZONE=-0700, TEST_RESULT=FAILED, TEST_EXITSTATUS=ABNORMAL 3, TEST_DESCRIPTION=; messages: BUGNUMBER: 456826; ./js1_6/extensions/regress-456826.js:`.``*`: out of memory; ./js1_6/extensions/regress-456826.js:`.``*`: ReferenceError: Date is not defined
+TEST_ID=js1_6/extensions/regress-456826.js, TEST_BRANCH=1.9.1, TEST_REPO=mozilla-central, TEST_BUILDTYPE=opt, TEST_TYPE=shell, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=ABNORMAL 5, TEST_DESCRIPTION=; messages: BUGNUMBER: 456826; ./js1_6/extensions/regress-456826.js:`.``*`: out of memory; ./js1_6/extensions/regress-456826.js:`.``*`: out of memory; ./js1_6/extensions/regress-456826.js:`.``*`: Date is not defined; ./shell.js:`.``*`: out of memory
 TEST_ID=js1_7/block/order-of-operation.js, TEST_BRANCH=1.9.1, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=.*, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=Test let and order of operation issues reason: Type mismatch, expected type boolean, actual type string Expected value 'false', Actual value 'f1(5):NL  expected:  NaNNL  actual:    6'
 TEST_ID=js1_7/block/regress-352422.js, TEST_BRANCH=1.8.1, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=.*, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=let declaration must be direct child of block, top-level implicit block, or switch body block reason: Expected value 'SyntaxError', Actual value ''
 TEST_ID=js1_7/block/regress-352609.js, TEST_BRANCH=1.8.1, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=.*, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=p = {}; (p.z = [let (x = 3, y = 4) x])() reason: Expected match to '/TypeError: (p.z = \[let \(x = 3, y = 4\) x\]|.*Array.*) is not a function/', Actual value 'TypeError: p.z = [(let (x = 3, y = 4) x)] is not a function'
 TEST_ID=js1_7/block/regress-352786.js, TEST_BRANCH=1.8.1, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=.*, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=let declaration must be direct child of block, top-level implicit block, or switch body block reason: Expected value 'SyntaxError', Actual value ''
 TEST_ID=js1_7/block/regress-352907.js, TEST_BRANCH=1.8.1, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=.*, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=let declaration must be direct child of block, top-level implicit block, or switch body block reason: Expected value 'SyntaxError', Actual value ''
 TEST_ID=js1_7/block/regress-376410.js, TEST_BRANCH=1.8.1, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=.*, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=let declaration must be direct child of block, top-level implicit block, or switch body block reason: Expected value 'SyntaxError', Actual value ''
 TEST_ID=js1_7/decompilation/regress-346642-01.js, TEST_BRANCH=1.8.1, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=.*, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=decompilation of destructuring assignment: 14 reason: Expected value ' function ( ) { while ( [ ] = e ) { } } ', Actual value ' function ( ) { while ( ( [ ] = e ) ) { } } '
 TEST_ID=js1_7/decompilation/regress-346642-01.js, TEST_BRANCH=1.8.1, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=.*, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=decompilation of destructuring assignment: 15 reason: Expected value ' function ( ) { while ( [ ] = a ( b ) ) { } } ', Actual value ' function ( ) { while ( ( [ ] = a ( b ) ) ) { } } '
@@ -638,16 +652,19 @@ TEST_ID=js1_8/genexps/regress-380237-04.
 TEST_ID=js1_8/genexps/regress-380237-04.js, TEST_BRANCH=1.9.1, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=.*, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=Generator expressions parenthesization test: overParensTest decompilation should not be over-parenthesized: function anonymous() {NL    do {NL    } while ((x * x for (x in [])));NL} reason: Expected value 'true', Actual value 'false'
 TEST_ID=js1_8/genexps/regress-380237-04.js, TEST_BRANCH=1.9.1, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=.*, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=Generator expressions parenthesization test: overParensTest decompilation should not be over-parenthesized: function anonymous() {NL    eval((x * x for (x in [])));NL} reason: Expected value 'true', Actual value 'false'
 TEST_ID=js1_8/genexps/regress-380237-04.js, TEST_BRANCH=1.9.1, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=.*, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=Generator expressions parenthesization test: overParensTest decompilation should not be over-parenthesized: function anonymous() {NL    f((x * x for (x in [])));NL} reason: Expected value 'true', Actual value 'false'
 TEST_ID=js1_8/genexps/regress-380237-04.js, TEST_BRANCH=1.9.1, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=.*, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=Generator expressions parenthesization test: overParensTest decompilation should not be over-parenthesized: function anonymous() {NL    if ((x * x for (x in []))) {NL    }NL} reason: Expected value 'true', Actual value 'false'
 TEST_ID=js1_8/genexps/regress-380237-04.js, TEST_BRANCH=1.9.1, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=.*, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=Generator expressions parenthesization test: overParensTest decompilation should not be over-parenthesized: function anonymous() {NL    new a((x * x for (x in [])));NL} reason: Expected value 'true', Actual value 'false'
 TEST_ID=js1_8/genexps/regress-380237-04.js, TEST_BRANCH=1.9.1, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=.*, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=Generator expressions parenthesization test: overParensTest decompilation should not be over-parenthesized: function anonymous() {NL    switch ((x * x for (x in []))) {NL      default:;NL    }NL} reason: Expected value 'true', Actual value 'false'
 TEST_ID=js1_8/genexps/regress-380237-04.js, TEST_BRANCH=1.9.1, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=.*, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=Generator expressions parenthesization test: overParensTest decompilation should not be over-parenthesized: function anonymous() {NL    while ((x * x for (x in []))) {NL    }NL} reason: Expected value 'true', Actual value 'false'
 TEST_ID=js1_8/genexps/regress-380237-04.js, TEST_BRANCH=1.9.1, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=.*, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=Generator expressions parenthesization test: overParensTest decompilation should not be over-parenthesized: function anonymous() {NL    with ((x * x for (x in []))) {NL    }NL} reason: Expected value 'true', Actual value 'false'
+TEST_ID=js1_8/regress/regress-458076.js, TEST_BRANCH=1.9.1, TEST_REPO=mozilla-central, TEST_BUILDTYPE=debug, TEST_TYPE=.*, TEST_OS=darwin, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=CRASHED.*, TEST_DESCRIPTION=`.``*`Assertion failed: !lhs->isQuad() && !rhs->isQuad()
+TEST_ID=js1_8/regress/regress-458076.js, TEST_BRANCH=1.9.1, TEST_REPO=mozilla-central, TEST_BUILDTYPE=debug, TEST_TYPE=.*, TEST_OS=linux, TEST_KERNEL=.*, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=CRASHED.*, TEST_DESCRIPTION=`.``*`Assertion failed: !lhs->isQuad() && !rhs->isQuad()
+TEST_ID=js1_8/regress/regress-458076.js, TEST_BRANCH=1.9.1, TEST_REPO=mozilla-central, TEST_BUILDTYPE=debug, TEST_TYPE=browser, TEST_OS=nt, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=ABNORMAL 3, TEST_DESCRIPTION=
 TEST_ID=js1_8_1/String/regress-305064.js, TEST_BRANCH=1.9.1, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=.*, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=MEDIUM MATHEMATICAL SPACE:"\u205F\u205F\u205F".trim() reason: Expected value '', Actual value '\u205F\u205F\u205F'
 TEST_ID=js1_8_1/String/regress-305064.js, TEST_BRANCH=1.9.1, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=.*, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=MEDIUM MATHEMATICAL SPACE:"\u205F\u205F\u205F".trimLeft() reason: Expected value '', Actual value '\u205F\u205F\u205F'
 TEST_ID=js1_8_1/String/regress-305064.js, TEST_BRANCH=1.9.1, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=.*, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=MEDIUM MATHEMATICAL SPACE:"\u205F\u205F\u205F".trimRight() reason: Expected value '', Actual value '\u205F\u205F\u205F'
 TEST_ID=js1_8_1/String/regress-305064.js, TEST_BRANCH=1.9.1, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=.*, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=MEDIUM MATHEMATICAL SPACE:"\u205F\u205F\u205Fa".trim() reason: Expected value 'a', Actual value '\u205F\u205F\u205Fa'
 TEST_ID=js1_8_1/String/regress-305064.js, TEST_BRANCH=1.9.1, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=.*, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=MEDIUM MATHEMATICAL SPACE:"\u205F\u205F\u205Fa".trimLeft() reason: Expected value 'a', Actual value '\u205F\u205F\u205Fa'
 TEST_ID=js1_8_1/String/regress-305064.js, TEST_BRANCH=1.9.1, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=.*, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=MEDIUM MATHEMATICAL SPACE:"\u205F\u205F\u205Fa\u205F\u205F\u205F".trim() reason: Expected value 'a', Actual value '\u205F\u205F\u205Fa\u205F\u205F\u205F'
 TEST_ID=js1_8_1/String/regress-305064.js, TEST_BRANCH=1.9.1, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=.*, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=MEDIUM MATHEMATICAL SPACE:"\u205F\u205F\u205Fa\u205F\u205F\u205F".trimLeft() reason: Expected value 'a\u205F\u205F\u205F', Actual value '\u205F\u205F\u205Fa\u205F\u205F\u205F'
 TEST_ID=js1_8_1/String/regress-305064.js, TEST_BRANCH=1.9.1, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=.*, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=MEDIUM MATHEMATICAL SPACE:"\u205F\u205F\u205Fa\u205F\u205F\u205F".trimRight() reason: Expected value '\u205F\u205F\u205Fa', Actual value '\u205F\u205F\u205Fa\u205F\u205F\u205F'
--- a/js/tests/spidermonkey-n-1.9.1.tests
+++ b/js/tests/spidermonkey-n-1.9.1.tests
@@ -99,16 +99,18 @@ js1_5/extensions/regress-355622.js
 js1_5/extensions/regress-418730.js
 js1_5/GetSet/regress-353264.js
 js1_5/Regress/regress-249211.js
 js1_5/Regress/regress-350692.js
 js1_5/Regress/regress-354924.js
 js1_5/Regress/regress-362583.js
 js1_7/extensions/regress-353214-01.js
 js1_7/lexical/regress-346642-03.js
+js1_5/extensions/regress-432075.js
+js1_5/extensions/regress-421621.js
 # bug 450275
 js1_5/extensions/regress-434837-01.js
 # bug 408002
 js1_5/Regress/regress-320119.js
 # bug 380469
 js1_7/geniter/regress-347739.js
 js1_7/geniter/regress-349012-01.js
 js1_7/geniter/regress-349331.js
new file mode 100644
--- /dev/null
+++ b/testing/sisyphus/data/firefox,1.8.1-too-much-gc,debug.data
@@ -0,0 +1,8 @@
+product=firefox
+branch=1.8.1
+profilename=firefox-1.8.1-too-much-gc-profile
+profiledirectory=/tmp/firefox-1.8.1-too-much-gc-profile
+executablepath=${BUILDDIR}/1.8.1-too-much-gc/mozilla/firefox-debug/dist
+userpreferences=${TEST_DIR}/prefs/test-user.js
+extensiondir=${TEST_DIR}/xpi
+buildtype=debug
new file mode 100644
--- /dev/null
+++ b/testing/sisyphus/data/firefox,1.9.0-too-much-gc,debug.data
@@ -0,0 +1,8 @@
+product=firefox
+branch=1.9.0
+profilename=firefox-1.9.0-too-much-gc-profile
+profiledirectory=/tmp/firefox-1.9.0-too-much-gc-profile
+executablepath=${BUILDDIR}/1.9.0-too-much-gc/mozilla/firefox-debug/dist
+userpreferences=${TEST_DIR}/prefs/test-user.js
+extensiondir=${TEST_DIR}/xpi
+buildtype=debug
new file mode 100644
--- /dev/null
+++ b/testing/sisyphus/data/firefox,1.9.1-too-much-gc,debug.data
@@ -0,0 +1,9 @@
+product=firefox
+branch=1.9.1
+profilename=firefox-1.9.1-too-much-gc-profile
+profiledirectory=/tmp/firefox-1.9.1-too-much-gc-profile
+executablepath=${BUILDDIR}/1.9.1-too-much-gc/mozilla/firefox-debug/dist
+userpreferences=${TEST_DIR}/prefs/test-user.js
+extensiondir=${TEST_DIR}/xpi
+buildtype=debug
+TEST_MOZILLA_HG=http://hg.mozilla.org/mozilla-central
new file mode 100644
--- /dev/null
+++ b/testing/sisyphus/data/js,1.8.1-too-much-gc,debug.data
@@ -0,0 +1,4 @@
+product=js
+branch=1.8.1
+jsshellsourcepath=${BUILDDIR}/1.8.1-too-much-gc/mozilla/js/src
+buildtype=debug
new file mode 100644
--- /dev/null
+++ b/testing/sisyphus/data/js,1.9.0-too-much-gc,debug.data
@@ -0,0 +1,4 @@
+product=js
+branch=1.9.0
+jsshellsourcepath=${BUILDDIR}/1.9.0-too-much-gc/mozilla/js/src
+buildtype=debug
new file mode 100644
--- /dev/null
+++ b/testing/sisyphus/data/js,1.9.1-too-much-gc,debug.data
@@ -0,0 +1,5 @@
+product=js
+branch=1.9.1
+jsshellsourcepath=${BUILDDIR}/1.9.1-too-much-gc/mozilla/js/src
+buildtype=debug
+TEST_MOZILLA_HG=http://hg.mozilla.org/mozilla-central