Bug 831629 - Add 291 missing jit-tests for various bugs. rs=terrence
authorChristian Holler <choller@mozilla.com>
Fri, 18 Jan 2013 15:36:28 +0100
changeset 119259 efaf8960a929
parent 119258 2aa7bb583a6d
child 119260 7d5fdfc2b165
push id24195
push userMs2ger@gmail.com
push date2013-01-19 16:10 +0000
treeherdermozilla-central@02e12a80aef9 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersterrence
bugs831629
milestone21.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 831629 - Add 291 missing jit-tests for various bugs. rs=terrence
js/src/jit-test/tests/auto-regress/bug432365.js
js/src/jit-test/tests/auto-regress/bug464116.js
js/src/jit-test/tests/auto-regress/bug466076.js
js/src/jit-test/tests/auto-regress/bug466654.js
js/src/jit-test/tests/auto-regress/bug469262.js
js/src/jit-test/tests/auto-regress/bug475658.js
js/src/jit-test/tests/auto-regress/bug477877.js
js/src/jit-test/tests/auto-regress/bug479747.js
js/src/jit-test/tests/auto-regress/bug486139.js
js/src/jit-test/tests/auto-regress/bug487320.js
js/src/jit-test/tests/auto-regress/bug487534.js
js/src/jit-test/tests/auto-regress/bug487563.js
js/src/jit-test/tests/auto-regress/bug487570.js
js/src/jit-test/tests/auto-regress/bug488015.js
js/src/jit-test/tests/auto-regress/bug488034.js
js/src/jit-test/tests/auto-regress/bug488203.js
js/src/jit-test/tests/auto-regress/bug488421.js
js/src/jit-test/tests/auto-regress/bug488693.js
js/src/jit-test/tests/auto-regress/bug488963.js
js/src/jit-test/tests/auto-regress/bug489040.js
js/src/jit-test/tests/auto-regress/bug489836.js
js/src/jit-test/tests/auto-regress/bug490191.js
js/src/jit-test/tests/auto-regress/bug490776.js
js/src/jit-test/tests/auto-regress/bug491806.js
js/src/jit-test/tests/auto-regress/bug493662.js
js/src/jit-test/tests/auto-regress/bug495843.js
js/src/jit-test/tests/auto-regress/bug495962.js
js/src/jit-test/tests/auto-regress/bug496245.js
js/src/jit-test/tests/auto-regress/bug496251.js
js/src/jit-test/tests/auto-regress/bug496270.js
js/src/jit-test/tests/auto-regress/bug496325.js
js/src/jit-test/tests/auto-regress/bug502604.js
js/src/jit-test/tests/auto-regress/bug504516.js
js/src/jit-test/tests/auto-regress/bug510644.js
js/src/jit-test/tests/auto-regress/bug511836.js
js/src/jit-test/tests/auto-regress/bug511938.js
js/src/jit-test/tests/auto-regress/bug515440.js
js/src/jit-test/tests/auto-regress/bug516897.js
js/src/jit-test/tests/auto-regress/bug520513.js
js/src/jit-test/tests/auto-regress/bug521163.js
js/src/jit-test/tests/auto-regress/bug521169.js
js/src/jit-test/tests/auto-regress/bug521279.js
js/src/jit-test/tests/auto-regress/bug521694.js
js/src/jit-test/tests/auto-regress/bug522624.js
js/src/jit-test/tests/auto-regress/bug523793.js
js/src/jit-test/tests/auto-regress/bug525618.js
js/src/jit-test/tests/auto-regress/bug528048.js
js/src/jit-test/tests/auto-regress/bug531298.js
js/src/jit-test/tests/auto-regress/bug531513.js
js/src/jit-test/tests/auto-regress/bug532363.js
js/src/jit-test/tests/auto-regress/bug533705.js
js/src/jit-test/tests/auto-regress/bug537854.js
js/src/jit-test/tests/auto-regress/bug543436.js
js/src/jit-test/tests/auto-regress/bug557946.js
js/src/jit-test/tests/auto-regress/bug558618.js
js/src/jit-test/tests/auto-regress/bug560566.js
js/src/jit-test/tests/auto-regress/bug560796.js
js/src/jit-test/tests/auto-regress/bug561278.js
js/src/jit-test/tests/auto-regress/bug562028.js
js/src/jit-test/tests/auto-regress/bug563034.js
js/src/jit-test/tests/auto-regress/bug563126.js
js/src/jit-test/tests/auto-regress/bug563127.js
js/src/jit-test/tests/auto-regress/bug564619.js
js/src/jit-test/tests/auto-regress/bug566815.js
js/src/jit-test/tests/auto-regress/bug567577.js
js/src/jit-test/tests/auto-regress/bug568275.js
js/src/jit-test/tests/auto-regress/bug568281.js
js/src/jit-test/tests/auto-regress/bug568786.js
js/src/jit-test/tests/auto-regress/bug568826.js
js/src/jit-test/tests/auto-regress/bug568855.js
js/src/jit-test/tests/auto-regress/bug569774.js
js/src/jit-test/tests/auto-regress/bug571168.js
js/src/jit-test/tests/auto-regress/bug576846.js
js/src/jit-test/tests/auto-regress/bug578015.js
js/src/jit-test/tests/auto-regress/bug579348.js
js/src/jit-test/tests/auto-regress/bug580200.js
js/src/jit-test/tests/auto-regress/bug580694.js
js/src/jit-test/tests/auto-regress/bug580699.js
js/src/jit-test/tests/auto-regress/bug580701.js
js/src/jit-test/tests/auto-regress/bug580967.js
js/src/jit-test/tests/auto-regress/bug581785.js
js/src/jit-test/tests/auto-regress/bug582268.js
js/src/jit-test/tests/auto-regress/bug582276.js
js/src/jit-test/tests/auto-regress/bug583675.js
js/src/jit-test/tests/auto-regress/bug583680.js
js/src/jit-test/tests/auto-regress/bug583681.js
js/src/jit-test/tests/auto-regress/bug584423.js
js/src/jit-test/tests/auto-regress/bug586538.js
js/src/jit-test/tests/auto-regress/bug586559.js
js/src/jit-test/tests/auto-regress/bug587433.js
js/src/jit-test/tests/auto-regress/bug589093.js
js/src/jit-test/tests/auto-regress/bug589103.js
js/src/jit-test/tests/auto-regress/bug590772.js
js/src/jit-test/tests/auto-regress/bug591367.js
js/src/jit-test/tests/auto-regress/bug591418.js
js/src/jit-test/tests/auto-regress/bug591795.js
js/src/jit-test/tests/auto-regress/bug592224.js
js/src/jit-test/tests/auto-regress/bug592226.js
js/src/jit-test/tests/auto-regress/bug593580.js
js/src/jit-test/tests/auto-regress/bug593605.js
js/src/jit-test/tests/auto-regress/bug595911.js
js/src/jit-test/tests/auto-regress/bug595923.js
js/src/jit-test/tests/auto-regress/bug596817.js
js/src/jit-test/tests/auto-regress/bug596823.js
js/src/jit-test/tests/auto-regress/bug599446.js
js/src/jit-test/tests/auto-regress/bug599464.js
js/src/jit-test/tests/auto-regress/bug600128.js
js/src/jit-test/tests/auto-regress/bug600138.js
js/src/jit-test/tests/auto-regress/bug600889.js
js/src/jit-test/tests/auto-regress/bug601070.js
js/src/jit-test/tests/auto-regress/bug601393.js
js/src/jit-test/tests/auto-regress/bug601396.js
js/src/jit-test/tests/auto-regress/bug605011.js
js/src/jit-test/tests/auto-regress/bug605013.js
js/src/jit-test/tests/auto-regress/bug606639.js
js/src/jit-test/tests/auto-regress/bug607502.js
js/src/jit-test/tests/auto-regress/bug607513.js
js/src/jit-test/tests/auto-regress/bug609287.js
js/src/jit-test/tests/auto-regress/bug610088.js
js/src/jit-test/tests/auto-regress/bug612836.js
js/src/jit-test/tests/auto-regress/bug613400.js
js/src/jit-test/tests/auto-regress/bug620315.js
js/src/jit-test/tests/auto-regress/bug620637.js
js/src/jit-test/tests/auto-regress/bug620640.js
js/src/jit-test/tests/auto-regress/bug621816.js
js/src/jit-test/tests/auto-regress/bug621988.js
js/src/jit-test/tests/auto-regress/bug622167.js
js/src/jit-test/tests/auto-regress/bug622318.js
js/src/jit-test/tests/auto-regress/bug630770.js
js/src/jit-test/tests/auto-regress/bug634236.js
js/src/jit-test/tests/auto-regress/bug635389.js
js/src/jit-test/tests/auto-regress/bug637010.js
js/src/jit-test/tests/auto-regress/bug637205.js
js/src/jit-test/tests/auto-regress/bug638212.js
js/src/jit-test/tests/auto-regress/bug638735.js
js/src/jit-test/tests/auto-regress/bug639413.js
js/src/jit-test/tests/auto-regress/bug640079.js
js/src/jit-test/tests/auto-regress/bug643670.js
js/src/jit-test/tests/auto-regress/bug643847.js
js/src/jit-test/tests/auto-regress/bug647464.js
js/src/jit-test/tests/auto-regress/bug648729.js
js/src/jit-test/tests/auto-regress/bug648739.js
js/src/jit-test/tests/auto-regress/bug648747.js
js/src/jit-test/tests/auto-regress/bug648839.js
js/src/jit-test/tests/auto-regress/bug648852.js
js/src/jit-test/tests/auto-regress/bug648992.js
js/src/jit-test/tests/auto-regress/bug648999.js
js/src/jit-test/tests/auto-regress/bug649017.js
js/src/jit-test/tests/auto-regress/bug649937.js
js/src/jit-test/tests/auto-regress/bug650574.js
js/src/jit-test/tests/auto-regress/bug650617.js
js/src/jit-test/tests/auto-regress/bug650658.js
js/src/jit-test/tests/auto-regress/bug651827.js
js/src/jit-test/tests/auto-regress/bug652177.js
js/src/jit-test/tests/auto-regress/bug653395.js
js/src/jit-test/tests/auto-regress/bug653789.js
js/src/jit-test/tests/auto-regress/bug654392.js
js/src/jit-test/tests/auto-regress/bug654665.js
js/src/jit-test/tests/auto-regress/bug655507.js
js/src/jit-test/tests/auto-regress/bug655940.js
js/src/jit-test/tests/auto-regress/bug655950.js
js/src/jit-test/tests/auto-regress/bug657198.js
js/src/jit-test/tests/auto-regress/bug657586.js
js/src/jit-test/tests/auto-regress/bug657986.js
js/src/jit-test/tests/auto-regress/bug658803.js
js/src/jit-test/tests/auto-regress/bug659077.js
js/src/jit-test/tests/auto-regress/bug659779.js
js/src/jit-test/tests/auto-regress/bug661840.js
js/src/jit-test/tests/auto-regress/bug662132.js
js/src/jit-test/tests/auto-regress/bug664951.js
js/src/jit-test/tests/auto-regress/bug665914.js
js/src/jit-test/tests/auto-regress/bug666305.js
js/src/jit-test/tests/auto-regress/bug666599.js
js/src/jit-test/tests/auto-regress/bug667824.js
js/src/jit-test/tests/auto-regress/bug668206.js
js/src/jit-test/tests/auto-regress/bug669044.js
js/src/jit-test/tests/auto-regress/bug672104.js
js/src/jit-test/tests/auto-regress/bug673792.js
js/src/jit-test/tests/auto-regress/bug674207.js
js/src/jit-test/tests/auto-regress/bug674843.js
js/src/jit-test/tests/auto-regress/bug675251.js
js/src/jit-test/tests/auto-regress/bug675520.js
js/src/jit-test/tests/auto-regress/bug678090.js
js/src/jit-test/tests/auto-regress/bug678362.js
js/src/jit-test/tests/auto-regress/bug679799.js
js/src/jit-test/tests/auto-regress/bug679810.js
js/src/jit-test/tests/auto-regress/bug680797.js
js/src/jit-test/tests/auto-regress/bug682252.js
js/src/jit-test/tests/auto-regress/bug682298.js
js/src/jit-test/tests/auto-regress/bug682563.js
js/src/jit-test/tests/auto-regress/bug684281.js
js/src/jit-test/tests/auto-regress/bug685472.js
js/src/jit-test/tests/auto-regress/bug686107.js
js/src/jit-test/tests/auto-regress/bug686179.js
js/src/jit-test/tests/auto-regress/bug687099.js
js/src/jit-test/tests/auto-regress/bug687102.js
js/src/jit-test/tests/auto-regress/bug687125.js
js/src/jit-test/tests/auto-regress/bug687398.js
js/src/jit-test/tests/auto-regress/bug687399.js
js/src/jit-test/tests/auto-regress/bug688968.js
js/src/jit-test/tests/auto-regress/bug688973.js
js/src/jit-test/tests/auto-regress/bug688974.js
js/src/jit-test/tests/auto-regress/bug689892.js
js/src/jit-test/tests/auto-regress/bug690396.js
js/src/jit-test/tests/auto-regress/bug690650.js
js/src/jit-test/tests/auto-regress/bug692300.js
js/src/jit-test/tests/auto-regress/bug692366.js
js/src/jit-test/tests/auto-regress/bug693144.js
js/src/jit-test/tests/auto-regress/bug693971.js
js/src/jit-test/tests/auto-regress/bug694438.js
js/src/jit-test/tests/auto-regress/bug695290.js
js/src/jit-test/tests/auto-regress/bug696039.js
js/src/jit-test/tests/auto-regress/bug697255.js
js/src/jit-test/tests/auto-regress/bug698074.js
js/src/jit-test/tests/auto-regress/bug698899.js
js/src/jit-test/tests/auto-regress/bug699674.js
js/src/jit-test/tests/auto-regress/bug700127.js
js/src/jit-test/tests/auto-regress/bug701248.js
js/src/jit-test/tests/auto-regress/bug702003.js
js/src/jit-test/tests/auto-regress/bug702915.js
js/src/jit-test/tests/auto-regress/bug710192.js
js/src/jit-test/tests/auto-regress/bug712169.js
js/src/jit-test/tests/auto-regress/bug713209.js
js/src/jit-test/tests/auto-regress/bug713944.js
js/src/jit-test/tests/auto-regress/bug715682.js
js/src/jit-test/tests/auto-regress/bug716512.js
js/src/jit-test/tests/auto-regress/bug717249.js
js/src/jit-test/tests/auto-regress/bug717251.js
js/src/jit-test/tests/auto-regress/bug718347.js
js/src/jit-test/tests/auto-regress/bug720380.js
js/src/jit-test/tests/auto-regress/bug720396.js
js/src/jit-test/tests/auto-regress/bug721497.js
js/src/jit-test/tests/auto-regress/bug722021.js
js/src/jit-test/tests/auto-regress/bug722023.js
js/src/jit-test/tests/auto-regress/bug722260.js
js/src/jit-test/tests/auto-regress/bug726636.js
js/src/jit-test/tests/auto-regress/bug726799.js
js/src/jit-test/tests/auto-regress/bug727330.js
js/src/jit-test/tests/auto-regress/bug728509.js
js/src/jit-test/tests/auto-regress/bug730806.js
js/src/jit-test/tests/auto-regress/bug732719.js
js/src/jit-test/tests/auto-regress/bug735313.js
js/src/jit-test/tests/auto-regress/bug735936.js
js/src/jit-test/tests/auto-regress/bug736609.js
js/src/jit-test/tests/auto-regress/bug740509.js
js/src/jit-test/tests/auto-regress/bug743000.js
js/src/jit-test/tests/auto-regress/bug743876.js
js/src/jit-test/tests/auto-regress/bug745158.js
js/src/jit-test/tests/auto-regress/bug745452.js
js/src/jit-test/tests/auto-regress/bug746103.js
js/src/jit-test/tests/auto-regress/bug748119.js
js/src/jit-test/tests/auto-regress/bug755639.js
js/src/jit-test/tests/auto-regress/bug755750.js
js/src/jit-test/tests/auto-regress/bug759719.js
js/src/jit-test/tests/auto-regress/bug761864.js
js/src/jit-test/tests/auto-regress/bug762324.js
js/src/jit-test/tests/auto-regress/bug765055.js
js/src/jit-test/tests/auto-regress/bug765280.js
js/src/jit-test/tests/auto-regress/bug766065.js
js/src/jit-test/tests/auto-regress/bug769192.js
js/src/jit-test/tests/auto-regress/bug770713.js
js/src/jit-test/tests/auto-regress/bug770954.js
js/src/jit-test/tests/auto-regress/bug771027.js
js/src/jit-test/tests/auto-regress/bug771946.js
js/src/jit-test/tests/auto-regress/bug776314.js
js/src/jit-test/tests/auto-regress/bug776484.js
js/src/jit-test/tests/auto-regress/bug778557.js
js/src/jit-test/tests/auto-regress/bug779850.js
js/src/jit-test/tests/auto-regress/bug780405.js
js/src/jit-test/tests/auto-regress/bug781855.js
js/src/jit-test/tests/auto-regress/bug783421.js
js/src/jit-test/tests/auto-regress/bug783923.js
js/src/jit-test/tests/auto-regress/bug784011.js
js/src/jit-test/tests/auto-regress/bug784015.js
js/src/jit-test/tests/auto-regress/bug785089.js
js/src/jit-test/tests/auto-regress/bug785305.js
js/src/jit-test/tests/auto-regress/bug785576.js
js/src/jit-test/tests/auto-regress/bug785776.js
js/src/jit-test/tests/auto-regress/bug789107.js
js/src/jit-test/tests/auto-regress/bug790921.js
js/src/jit-test/tests/auto-regress/bug791445.js
js/src/jit-test/tests/auto-regress/bug795937.js
js/src/jit-test/tests/auto-regress/bug797493.js
js/src/jit-test/tests/auto-regress/bug800407.js
js/src/jit-test/tests/auto-regress/bug800878.js
js/src/jit-test/tests/auto-regress/bug811606.js
js/src/jit-test/tests/auto-regress/bug811612.js
js/src/jit-test/tests/auto-regress/bug811616.js
js/src/jit-test/tests/auto-regress/bug812235.js
js/src/jit-test/tests/auto-regress/bug813029.js
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug432365.js
@@ -0,0 +1,8 @@
+// |jit-test| debug;
+
+// Binary: cache/js-dbg-32-ceef8a5c3ca1-linux
+// Flags:
+//
+function f() { eval(''); }
+trap(f, 9, "");
+f()
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug464116.js
@@ -0,0 +1,31 @@
+// Binary: cache/js-dbg-32-7d06dac3fe83-linux
+// Flags: -j
+//
+function partOfSHA1(str)
+{
+  var rotate_left = function (n,s) { return ( n<<s ) | (n>>>(32-s)); },
+  W = [], H0 = 0x67452301,
+  H1 = 0xEFCDAB89, H2 = 0x98BADCFE,
+  H3 = 0x10325476, H4 = 0xC3D2E1F0,
+  A, B, C, D, E, temp, str_len = str.length,
+  word_array = [];
+  i = 0x080000000;
+  word_array.push( (str_len<<3)&0x0ffffffff );
+  for ( blockstart=0; blockstart<word_array.length; blockstart+=16 ) {
+    A = H0;
+    B = H1;
+    C = H2;
+    D = H3;
+    E = H4;
+    for (i= 0; i<=19; ++i) {
+      temp = (rotate_left(A,5) + ((B&C) | (~B&D)) + E + W[i] + 0x5A827999) & 0x0ffffffff;
+      E = D;
+      D = C;
+      C = rotate_left(B,30);
+      B = A;
+      A = temp;
+    }
+  }
+}
+
+partOfSHA1(1226369254122);
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug466076.js
@@ -0,0 +1,8 @@
+// Binary: cache/js-dbg-32-2fa341c1330b-linux
+// Flags: -j
+//
+for (let j = 0; j < 2; ++j) {
+  if (j) {
+    (function() {})();
+  }
+}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug466654.js
@@ -0,0 +1,8 @@
+// |jit-test| error:TypeError
+
+// Binary: cache/js-dbg-32-29add08d84ae-linux
+// Flags: -j
+//
+this.watch('y',  /x/g );
+for each (y in ['q', 'q', 'q']) continue;
+gc();
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug469262.js
@@ -0,0 +1,10 @@
+// |jit-test| error:TypeError
+
+// Binary: cache/js-dbg-32-2c8e43e57337-linux
+// Flags: -j
+//
+function b() { this.m(); }
+var g = {m: function(){}};
+var a = [g, g, {}];
+for (var i = 0; i < a.length; ++i)
+  b.call(a[i]);
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug475658.js
@@ -0,0 +1,9 @@
+// Binary: cache/js-dbg-32-6739e046d870-linux
+// Flags: -j
+//
+for each (b in [2, new Number(7), 2, {}, 2, 2]) {
+    let (f = function (g) {for each (let h in [{}, {}, {}, 4, 4, {}]) {}}) {
+        f();
+    }
+    [new Number(1) for each (e in [{}, {}])];
+}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug477877.js
@@ -0,0 +1,179 @@
+// Binary: cache/js-dbg-32-a419ff2cf0c5-linux
+// Flags: -j
+//
+var l=[
+-88,
+-37,
+-12,
+-5,
+9,
+-7,
+41,
+-9,
+43,
+-11,
+34,
+38,
+-22,
+-17,
+-16,
+-34,
+-33,
+62,
+63,
+-36,
+50,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+-128
+];
+var bits = [1,
+1,
+1,
+1,
+1,
+1,
+1,
+1,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+];
+var t = 0;
+var c = 3407;
+var i;
+
+while (c--) {
+    i = 0;
+    while (l[i] < 0) {
+        if (bits[t]) {
+            i = - l[i];
+        } else {
+            ++i;
+        }
+        ++t;
+    }
+}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug479747.js
@@ -0,0 +1,9 @@
+// |jit-test| error:TypeError
+
+// Binary: cache/js-dbg-32-9174e1bbfa9f-linux
+// Flags: -j
+//
+'a'.replace(/a/g, [].push);
+x = [];
+x++;
+(function(){ eval("for(let y in []) [][x]"); })();
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug486139.js
@@ -0,0 +1,4 @@
+// Binary: cache/js-dbg-64-023cb4350567-linux
+// Flags:
+//
+uneval((function(){([z] = []).y >>= x}));
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug487320.js
@@ -0,0 +1,11 @@
+// Binary: cache/js-dbg-64-57213af4a45d-linux
+// Flags:
+//
+function outer(x) {
+    return (function foo() {
+                this.bar = foo;
+                return x;
+            })();
+}
+print(outer(42));
+print(bar());           // BOOM!
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug487534.js
@@ -0,0 +1,5 @@
+// Binary: cache/js-dbg-32-96746395df4f-linux
+// Flags: -j
+//
+var fs = { x: /a/, y: /a/, z: /a/ };
+for (var p in fs) { this[fs[p]] = null; }
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug487563.js
@@ -0,0 +1,17 @@
+// Binary: cache/js-dbg-64-86c8e18f20eb-linux
+// Flags:
+//
+try {
+  !(Iterator((
+    eval("\
+      (function(){\
+        (function a() { \
+          new function(){\
+            __iterator__ = a\
+          }\
+        }\
+      )(); \
+      return this\
+      })")
+  )()))
+} catch(e) {}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug487570.js
@@ -0,0 +1,13 @@
+// |jit-test| error:TypeError
+
+// Binary: cache/js-dbg-32-86c8e18f20eb-linux
+// Flags:
+//
+(function(){
+  for each (var x in new (
+    (function (){x})()
+    for each (y in [])
+  )
+)
+{const functional}
+})()
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug488015.js
@@ -0,0 +1,29 @@
+// Binary: cache/js-dbg-64-e1257570fef8-linux
+// Flags:
+//
+var a = [];
+function addEventListener(e, f, g)
+{
+  a.push(f);
+}
+function setTimeout(f, t)
+{
+  a.push(f);
+}
+var b;
+this.document = {};
+function e(w) {
+  addEventListener("mousedown", d, true);
+  function d() {
+    var d;
+    w.setTimeout(function() {
+        b(d);
+      }, 0);
+  }
+  function b(d){
+    w.document;  /* Crash Here!! */
+  }
+}
+e(this);
+a[0]();
+a[1]();
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug488034.js
@@ -0,0 +1,7 @@
+// Binary: cache/js-dbg-64-e1257570fef8-linux
+// Flags:
+//
+(function(){
+  var x;
+  eval("var x; ((function ()x)())");
+})()
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug488203.js
@@ -0,0 +1,13 @@
+// |jit-test| error:InternalError
+
+// Binary: cache/js-dbg-32-756dd46daf6c-linux
+// Flags: -j
+//
+var d = {
+  p: function () {
+         for (var i = 0; i < 9; ++i);
+         with (d) { q(); }
+     }
+};
+d.q = function() { eval('this.p()'); }
+d.p();
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug488421.js
@@ -0,0 +1,12 @@
+// Binary: cache/js-dbg-64-862693caa320-linux
+// Flags:
+//
+function f(foo)
+{
+  var x;
+  eval("__defineGetter__(\"y\", function ()x)");
+}
+f("");
+try {
+((function(){ throw y })())
+} catch(exc1) {}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug488693.js
@@ -0,0 +1,4 @@
+// Binary: cache/js-dbg-32-ec03b7905b5a-linux
+// Flags: -j
+//
+(new Function("for (var x = 0; x < 2; ++x) { gczeal(2)} "))()
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug488963.js
@@ -0,0 +1,4 @@
+// Binary: cache/js-dbg-64-55b6298ff619-linux
+// Flags:
+//
+for(let x in []) {((x = [] for(x in [])) for(y in 0))}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug489040.js
@@ -0,0 +1,4 @@
+// Binary: cache/js-dbg-32-c319b49e2880-linux
+// Flags: -j
+//
+for (var y = 0; y < 2; ++y) { (/x/)[this] }
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug489836.js
@@ -0,0 +1,13 @@
+// Binary: cache/js-dbg-32-1a1611bb1063-linux
+// Flags: -j
+//
+var e;
+function w(f, y) {
+    e = 2 * f;
+    for (var i = 0; i < 1; i++) {
+    }
+}
+for (var u = 0; u < 4; ++u) {
+    w(undefined, 0);
+    w(1, (2) * 2);
+}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug490191.js
@@ -0,0 +1,15 @@
+// Binary: cache/js-dbg-64-daefd30072a6-linux
+// Flags:
+//
+function f(param) {
+  var w;
+  return eval("\
+    (function(){\
+      __defineGetter__(\"y\", function()({\
+        x: function(){ return w }()\
+      }))\
+    });\
+  ");
+}
+(f())();
+(new Function("eval(\"y\")"))();
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug490776.js
@@ -0,0 +1,37 @@
+// |jit-test| error:TypeError
+
+// Binary: cache/js-dbg-32-7504904b5f8f-linux
+// Flags: -j
+//
+Object.extend = function(destination, source) {
+    for (var property in source)
+    destination[property] = source[property]
+}
+Object.extend(Function.prototype, {
+    curry: function() {
+        var __method = this,
+        args = $A(arguments)
+        return function() {
+            return __method(
+            arguments)
+        }
+    },
+    wrap: function(wrapper) {
+        return function() { ([](
+            $A(arguments)))
+        }
+    }
+})
+function $A(iterable) {
+    var length = iterable.length
+    while (length--);
+}
+var ga = {
+    c: 3,
+    d: 4
+}
+ga.
+__defineGetter__("", /x/.test.wrap("").curry(true, ""))
+for (var p in ga) {
+    ga[p]
+}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug491806.js
@@ -0,0 +1,9 @@
+// Binary: cache/js-dbg-64-0ba03471b3b0-linux
+// Flags:
+//
+uneval(new Function("\
+  for(\
+    ((let (functional) x) for each ([] in [])); \
+    yield x; \
+    (let (x = true) x));\
+"))
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug493662.js
@@ -0,0 +1,8 @@
+// Binary: cache/js-dbg-32-175ef7145705-linux
+// Flags: -j
+//
+for (let cc = 0; cc < 3; ++cc) {
+    var c = cc;
+    print("" + new Number(.5));
+    for each (b in [0 / 0, 0 / 0]) {}
+}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug495843.js
@@ -0,0 +1,5 @@
+// Binary: cache/js-dbg-64-fe91973cc783-linux
+// Flags:
+//
+const x;[x]='';
+for(;[] && false;){}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug495962.js
@@ -0,0 +1,11 @@
+// Binary: cache/js-dbg-32-a9887b731f29-linux
+// Flags: -j
+//
+(function () {
+    const c = 0;
+    with ({}) {
+        for each (c in [{}, {}]) {
+            "" + c;
+        }
+    }
+})();
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug496245.js
@@ -0,0 +1,6 @@
+// |jit-test| error:TypeError
+
+// Binary: cache/js-dbg-64-9d6f5ab54933-linux
+// Flags:
+//
+(function(a){ 1(function(){delete a;}); })();
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug496251.js
@@ -0,0 +1,10 @@
+// Binary: cache/js-dbg-32-9d6f5ab54933-linux
+// Flags: -j
+//
+let (z = {}) {
+    for (var i = 0; i < 4; ++i) {
+        for each (var e in [{}, 1, {}]) {
+            +(function () z)();
+        }
+    }
+}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug496270.js
@@ -0,0 +1,4 @@
+// Binary: cache/js-dbg-32-9d6f5ab54933-linux
+// Flags: -j
+//
++[(e = {}, (function () e)()) for each (e in ["", {}, "", {}, ""])][4];
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug496325.js
@@ -0,0 +1,19 @@
+// Binary: cache/js-dbg-32-9d6f5ab54933-linux
+// Flags: -j
+//
+(function() {
+    var Y = function() {};
+    function g() {
+        function f(x) {
+            for (var j = 0; j < 1; ++j) {
+                x.apply(this);
+            }
+        }
+        return function() {
+            f(Y);
+        }
+    };
+    for (var i = 0; i < 2; ++i) {
+        g()();
+    }
+})();
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug502604.js
@@ -0,0 +1,30 @@
+// Binary: cache/js-dbg-32-b4fee3813956-linux
+// Flags: -j
+//
+var aej=new Array( 'A3|297|420', 'dummy|1|1' );
+var aes=aej.length-1,
+aet=new Array();
+for(var i=0; i <= aes; ++i)
+  aet[i] = aej[i].split('|');
+afo=4;
+R=new Array(
+  '17523|2500|275||',
+  '17524|5000|300.3||',
+  '17535|500|207.4|=|120x120|=|=|=|=|=|=|=',
+  '17556|500|349.3|=|A5|=|=|=|=|=|=|='
+);
+var ags = R.length-1;
+px= new Array();
+for(var i=1; i<=ags; i++) {
+  px[i] = R[i].split('|');
+  for(var j=0; j<=11;j++)
+    agt = ank(px[i][afo]);
+}
+function ank(akr) {
+  var XX=YY=0;
+  for(var i=0;i<aet.length;i++)
+    if((XX==0)  &&  (akr.indexOf('x')>0)) {
+      var tt=akr.split('x');
+      XX=tt[0];YY=tt[1]
+    }
+}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug504516.js
@@ -0,0 +1,9 @@
+// Binary: cache/js-dbg-32-43a24a8896a3-linux
+// Flags: -j
+//
+for (d in [0, 0]) {
+    const a = (d -= (++d).toString())
+    for each(b in [Number(1) << d, 0, 0xC]) {
+        b / a
+    }
+}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug510644.js
@@ -0,0 +1,13 @@
+// Binary: cache/js-dbg-32-d56149240ef8-linux
+// Flags: -j
+//
+function foo(f) {
+    f()
+}
+foo((eval("\
+    (function () {\
+        for each(l in [0, 0xB504F332, 0]) {\
+            for (d in Error()) {}\
+        }\
+    })\
+")))
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug511836.js
@@ -0,0 +1,8 @@
+// Binary: cache/js-dbg-32-16baceea5fe2-linux
+// Flags:
+//
+for (a in (function () {
+    return Iterator(function () {}).__proto__
+})()) {
+    ++b
+}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug511938.js
@@ -0,0 +1,8 @@
+// Binary: cache/js-dbg-32-16baceea5fe2-linux
+// Flags: -j
+//
+(function () {
+    for (let x = 0; x < 4; ++x) {
+        gczeal(2)
+    }
+})()
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug515440.js
@@ -0,0 +1,8 @@
+// Binary: cache/js-dbg-32-d05dc3d31c75-linux
+// Flags: -j
+//
+for each(let c in [1.3]) {
+    for (var x = 0; x < 4; ++x) {
+        gczeal(2);
+    }
+}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug516897.js
@@ -0,0 +1,6 @@
+// Binary: cache/js-dbg-64-38754465ffde-linux
+// Flags:
+//
+this.__defineSetter__("x", gc);
+this.watch("x",function(){return});
+x = 3;
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug520513.js
@@ -0,0 +1,9 @@
+// |jit-test| error:ReferenceError
+
+// Binary: cache/js-dbg-64-1cd24ecc343d-linux
+// Flags:
+//
+(function(){
+  var c;
+  eval("var c; for each(var c in s);");
+})()
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug521163.js
@@ -0,0 +1,10 @@
+// |jit-test| error:ReferenceError
+
+// Binary: cache/js-dbg-32-c08baee44cf4-linux
+// Flags:
+//
+for (c in [0]) {
+    let(c = __defineGetter__("", function(){})) {
+        eval("function w(){}")++
+    }
+}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug521169.js
@@ -0,0 +1,19 @@
+// Binary: cache/js-dbg-64-c08baee44cf4-linux
+// Flags: -j
+//
+try {
+    with({
+        x: (function f(a) {
+            f(1)
+        })()
+    }) {}
+} catch(e) {}
+for each(x in ["", true]) {
+    for (b = 0; b < 4; ++b) {
+        if (b % 2 == 0) {
+            (function () {})()
+        } {
+            gc()
+        }
+    }
+}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug521279.js
@@ -0,0 +1,6 @@
+// |jit-test| error:ReferenceError
+
+// Binary: cache/js-dbg-32-ca95f2397bc5-linux
+// Flags:
+//
+for(let a in[0]){eval("var b")=x}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug521694.js
@@ -0,0 +1,4 @@
+// Binary: cache/js-dbg-64-93d2eef52108-linux
+// Flags:
+//
+for(e in((function x(){yield(p=x())})())){}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug522624.js
@@ -0,0 +1,8 @@
+// Binary: cache/js-dbg-32-a847cf5b4669-linux
+// Flags: -j
+//
+function r([]) { r(); }
+var a = {};
+a.__defineGetter__("t", r);
+try { a.t; } catch(e) { }
+print(uneval(a));
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug523793.js
@@ -0,0 +1,15 @@
+// |jit-test| error:ReferenceError
+
+// Binary: cache/js-dbg-32-525d852c622d-linux
+// Flags: -j
+//
+(function() {
+    let(x)
+    (function() {
+        for (let a in [0, x, 0, 0])
+        (function() {
+            for (let y in [0, 0]) print
+        })();
+    })()
+    with({}) throw x;
+})()
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug525618.js
@@ -0,0 +1,13 @@
+// Binary: cache/js-dbg-32-c0dbbcfdb583-linux
+// Flags: -j
+//
+(function (){
+  var c;
+  (eval("\
+    (function() {\
+      eval(\"\
+      for each(w in[0,0,0]) { print(c) }\
+      \" , function(){})\
+    })\
+  "))()
+})()
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug528048.js
@@ -0,0 +1,20 @@
+// Binary: cache/js-dbg-32-761988dd0d81-linux
+// Flags: -j
+//
+for (j = 0; j < 3; j++) {}
+m = [];
+m.concat();
+n = [];
+n.concat([]);
+Function("\
+  for (i = 0; i < 8; i++)\
+  ((function f1(b, c) {\
+  if (c) {\
+    return (gc)()\
+  }\
+  f1(b, 1);\
+  ((function f2(d, e) {\
+    return d.length == e ? 0 : d[e] + f2(d, e + 1)\
+  })([{}, /x/, /x/], 0))\
+  })())\
+")()
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug531298.js
@@ -0,0 +1,18 @@
+// Binary: cache/js-dbg-32-15c46082297d-linux
+// Flags: -j
+//
+(function() {
+  (eval("\
+    (function() {\
+      let(e)((function() { ((function f(a) {\
+          if (a < 1) {\
+            return 1\
+          }\
+          x = arguments;\
+          return f(a - 1) + f(a - 2)\
+        })(6))\
+      })())\
+    })\
+  "))()
+})()
+gc()
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug531513.js
@@ -0,0 +1,24 @@
+// Binary: cache/js-dbg-32-4a7f5376270a-linux
+// Flags: -j
+//
+try {
+  (eval("\
+    (function() {\
+      for (var y = 0; y < 4; y++) {\
+        w = y\
+      }\
+    })")
+  )()
+} catch(e) {}
+(function() {
+  for (v in (x = {})) {}
+})();
+(function() {
+  for (var z = 0; z < 8; z++) {
+    if (z == 5) {
+      x /= x
+    } else {
+      for each(w in [1]) {}
+    }
+  }
+})()
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug532363.js
@@ -0,0 +1,9 @@
+// Binary: cache/js-dbg-32-410468c50ca1-linux
+// Flags: -j
+//
+(function() {
+  for each(z in [0, 0, 0, 0]) { ({
+      __parent__: []
+    } = [])
+  }
+})()
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug533705.js
@@ -0,0 +1,25 @@
+// Binary: cache/js-dbg-64-61b1c094b729-linux
+// Flags: -j
+//
+function mk() {
+  return (function () {});
+}
+
+function f() {
+  var j = 55;
+
+  var f = function () {
+    return j;
+  }
+
+  var g = function() {
+  }
+
+  var a = [ mk(), f, g, mk(), mk() ];
+
+  for (var i = 0; i < 5; ++i) {
+    a[i].p = 99;
+  }
+}
+
+f();
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug537854.js
@@ -0,0 +1,4 @@
+// Binary: cache/js-dbg-64-9d51f2a931f7-linux
+// Flags:
+//
+({x:function(){}}).watch('x',function(){});
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug543436.js
@@ -0,0 +1,15 @@
+// Binary: cache/js-dbg-64-f57b95afb57e-linux
+// Flags:
+//
+(function() {
+  try {
+    eval("\
+      function() {\
+        if (3)\
+        (1 for (x in []));\
+        else \
+        (this._ = function(){})\
+      }\
+    ");
+  } catch(e) {}
+})()
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug557946.js
@@ -0,0 +1,44 @@
+// Binary: cache/js-dbg-64-6f1a38b94754-linux
+// Flags: -j
+//
+/* vim: set ts=4 sw=4 tw=99 et: */
+
+var x = 0;
+var y = 0;
+
+function h() {
+    if (x == 1)
+        y++;
+    else
+        y--;
+}
+
+function F() {
+    var m = null;
+
+    function g(i) {
+        /* Force outgoing typemaps to have a string. */
+        m = "badness";
+
+        /* Loop a bit. */
+        for (var i = 0; i < 10; i++) {
+            h();
+        }
+    }
+
+    /* Spin for a while so trees build. */
+    for (var i = 0; i < 100; i++) {
+        /* Capture m == TT_NULL in outgoing fi for rp[0] */
+        g();
+
+        /* Flip the switch to bail out with deep nested frames. */
+        if (i > 50)
+            x = 1;
+
+        /* Set m = null on the loop tail to get better traces. */
+        m = null;
+    }
+}
+
+F();
+
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug558618.js
@@ -0,0 +1,15 @@
+// Binary: cache/js-dbg-64-e69034463eeb-linux
+// Flags: -j
+//
+/* vim: set ts=4 sw=4 tw=99 et: */
+function f() {
+    this.search = function(a, b, c) {
+        arguments[3] = { }
+        arguments.length = 4;
+        for (var i = 0; i < 100; i++) {
+            print(arguments[3]);
+        }
+    }
+}
+var o = new f();
+o.search({x: -1, y: -1, w: 100600, h: 100600});
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug560566.js
@@ -0,0 +1,7 @@
+// Binary: cache/js-dbg-64-58c9dd4f0c1f-linux
+// Flags:
+//
+var o = {}
+Object.defineProperty(o, "x", {get: undefined, set: function() { Object.defineProperty(o, "x", {set: function() { }}); }, configurable: true});
+o.a = 0;
+o.x = 0;
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug560796.js
@@ -0,0 +1,9 @@
+// Binary: cache/js-dbg-64-a6d7a5677b4c-linux
+// Flags:
+//
+__defineSetter__("x", function(){})
+this.watch("x", "".localeCompare)
+window = x
+Object.defineProperty(this, "x", ({
+    set: window
+}))
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug561278.js
@@ -0,0 +1,9 @@
+// Binary: cache/js-dbg-32-fe937d72a9ce-linux
+// Flags:
+//
+x = Iterator([])
+for (z in x) {}
+(function() {
+    for (l in function() {}) {}
+} ())
+for (z in x) {}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug562028.js
@@ -0,0 +1,20 @@
+// Binary: cache/js-dbg-64-0723bab9f15d-linux
+// Flags:
+//
+function f(code) {
+  uneval(Function(code.replace(/\/\*DUPTRY\d+/,
+    function(k) {
+      n = k.substr(8)
+      return g("try{}catch(e){}", n)
+    }
+  )))
+}
+function g(s, n) {
+  if (n == 1) return s
+  s2 = s + s
+  r = n % 2
+  d = (n - r) / 2;
+  m = g(s2, d)
+  return r ? m: m
+}
+f("if(/>/(\"\")){/*DUPTRY4968(u)}else if([]()){}")
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug563034.js
@@ -0,0 +1,11 @@
+// Binary: cache/js-dbg-64-c9212eb6175b-linux
+// Flags:
+//
+function f(a) {
+   function g() {
+       yield function () a;
+   }
+   return g();
+}
+var x;
+f(7).next()();
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug563126.js
@@ -0,0 +1,6 @@
+// |jit-test| error:ReferenceError
+
+// Binary: cache/js-dbg-64-985cdfad1c7e-linux
+// Flags:
+//
+(function(x){ function a () { x = 2 }; tracing(true); a(); })()
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug563127.js
@@ -0,0 +1,6 @@
+// Binary: cache/js-dbg-64-985cdfad1c7e-linux
+// Flags: -j
+//
+function a() {}
+a();
+for(var j=0;j<3;++j){ evalcx("lazy");}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug564619.js
@@ -0,0 +1,14 @@
+// Binary: cache/js-dbg-32-a214b695dc7b-linux
+// Flags: -j
+//
+(function() {
+  eval("\
+    function c() {\
+      for (var b = 0; b < 2; ++b) {\
+        print(this)\
+      }\
+    }\
+    c();\
+    c();\
+  ")
+})()
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug566815.js
@@ -0,0 +1,8 @@
+// |jit-test| error:TypeError
+
+// Binary: cache/js-dbg-64-6fc5d661ca55-linux
+// Flags:
+//
+x = /x/
+x.__proto__ = new Namespace
+x > 0
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug567577.js
@@ -0,0 +1,8 @@
+// |jit-test| error:TypeError
+
+// Binary: cache/js-dbg-64-88a6e0534e03-linux
+// Flags: -j
+//
+for (a in [/x/, null, new String - Infinity]) {
+  print(new evalcx(" "))
+}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug568275.js
@@ -0,0 +1,19 @@
+// Binary: cache/js-dbg-32-9ca0a738a8ad-linux
+// Flags:
+//
+x = ({
+    x: /x/
+})
+x.p = []
+Object.defineProperty(x, "x", {
+    writable: ""
+})
+for (b in [[], null, [undefined]]) {
+    function f(a) {
+        delete a.x
+        a.x = Infinity
+    }
+    for each(z in [x]) {
+        f(z)
+    }
+}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug568281.js
@@ -0,0 +1,11 @@
+// |jit-test| error:TypeError
+
+// Binary: cache/js-dbg-64-9ca0a738a8ad-linux
+// Flags:
+//
+__defineSetter__("x", Array.reduce)
+x = Proxy.create(function() {},
+this.watch("x",
+function() {
+  yield
+}))
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug568786.js
@@ -0,0 +1,10 @@
+// Binary: cache/js-dbg-64-fadb38356e0f-linux
+// Flags:
+//
+function f() {
+    this.e = function() {};
+    Object.defineProperty(this, "e", ({
+        get: eval
+    }));
+}
+new f();
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug568826.js
@@ -0,0 +1,9 @@
+// Binary: cache/js-dbg-64-fadb38356e0f-linux
+// Flags: -j
+//
+NaN = []
+for (var a = 0; a < 2; ++a) {
+    if (a == 1) {
+        for each(e in [NaN, Infinity, NaN]) {}
+    }
+}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug568855.js
@@ -0,0 +1,7 @@
+// Binary: cache/js-dbg-32-fadb38356e0f-linux
+// Flags: -j
+//
+this.__proto__ = Proxy.create({has:function(){return false}});
+(function(){
+  eval("(function(){ for(var j=0;j<6;++j) if(j%2==1) p=0; })")();
+})()
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug569774.js
@@ -0,0 +1,9 @@
+// Binary: cache/js-dbg-64-7f7dfb33a33e-linux
+// Flags:
+//
+x = Proxy.create((function () {}), (evalcx('')))
+try {
+    (function () {
+        ((let(e = eval) e).call(x, ("\"\"")))
+    })()
+} catch (e) {}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug571168.js
@@ -0,0 +1,9 @@
+// |jit-test| error:InternalError
+
+// Binary: cache/js-dbg-64-b84d0be52070-linux
+// Flags:
+//
+var x = wrap.call(x, Function);
+if (x.__proto__ = x) {
+    print(x);
+}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug576846.js
@@ -0,0 +1,11 @@
+// Binary: cache/js-dbg-32-55f39d8d866c-linux
+// Flags: -j
+//
+eval("\
+  for each(d in[0,0,0,0,0,0,0,0,0,0,0,0]) {\
+    (function f(aaaaaa,bbbbbb){\
+      return aaaaaa.length==bbbbbb?0:aaaaaa[bbbbbb]+f(aaaaaa,bbbbbb+1)\
+    })\
+    ([,,true,'',,(0),(0/0),new Number,true,Number()],0)\
+  }\
+")
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug578015.js
@@ -0,0 +1,14 @@
+// Binary: cache/js-dbg-64-60c111fc0d4b-linux
+// Flags:
+//
+(function () {
+    x = Proxy.createFunction((function () {
+        return {
+            getOwnPropertyDescriptor: function () {
+                return this
+            },
+            get: undefined
+        }
+    })(), Object.getOwnPropertyDescriptor)
+})()
+x(x)
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug579348.js
@@ -0,0 +1,6 @@
+// Binary: cache/js-dbg-32-2d09181ec4cd-linux
+// Flags: -j
+//
+for(a in[0,0,0]) {
+  ([])[-1]
+}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug580200.js
@@ -0,0 +1,12 @@
+// |jit-test| error:TypeError
+
+// Binary: cache/js-dbg-64-c271aa43c7ab-linux
+// Flags:
+//
+(function () {
+    x = Proxy.create((function () {
+        return {
+            enumerateOwn: function () Object.getOwnPropertyDescriptor
+        }
+    })(), [])
+})()(uneval(this))
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug580694.js
@@ -0,0 +1,20 @@
+// Binary: cache/js-dbg-32-7c6f62fcbd91-linux
+// Flags: -m
+//
+function f3() {
+    try {
+        v = f()
+    } catch (r) {}
+}
+function f1(a, t) {
+    f2(f, a)
+}
+function f2() {
+    u = uneval()
+}
+f = (function () {
+    Proxy((function () {})(gc()), [])
+})
+a = ""
+f1()
+f3(f, a)
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug580699.js
@@ -0,0 +1,12 @@
+// Binary: cache/js-dbg-32-7c6f62fcbd91-linux
+// Flags: -m
+//
+function f() {
+    (function () {
+        x;
+        function a() {}
+        print(a)
+    })()
+}
+__defineGetter__("x", gc)
+f()
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug580701.js
@@ -0,0 +1,6 @@
+// Binary: cache/js-dbg-32-7c6f62fcbd91-linux
+// Flags: -m
+//
+for (let c in []) {
+    c = 0
+}(eval)()
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug580967.js
@@ -0,0 +1,12 @@
+// Binary: cache/js-dbg-64-c338f8b7371e-linux
+// Flags: -j
+//
+(function(){
+  (eval("\
+    (function(){\
+      if(XML('aa'.replace(/a/g,function(){for(l in[0,0,0]){\
+        print(this)\
+      }}))){('')}\
+    })\
+  "))()
+})()
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug581785.js
@@ -0,0 +1,11 @@
+// Binary: cache/js-dbg-64-441daac3fef9-linux
+// Flags: -j
+//
+function f() {
+    this.b = function() {};
+    this.b = Object.e;
+    Object.defineProperty(this, "b", {})
+}
+for (a in [0, 0, 0, 0]) {
+    new f
+}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug582268.js
@@ -0,0 +1,6 @@
+// |jit-test| error:ReferenceError
+
+// Binary: cache/js-dbg-32-e0988eae6c08-linux
+// Flags: -m
+//
+7%s
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug582276.js
@@ -0,0 +1,7 @@
+// Binary: cache/js-dbg-32-e0988eae6c08-linux
+// Flags: -m
+//
+(function() {
+  this / z
+  var z = ""
+})()
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug583675.js
@@ -0,0 +1,11 @@
+// |jit-test| error:TypeError
+
+// Binary: cache/js-dbg-32-2ee92d697741-linux
+// Flags: -m
+//
+{
+    gczeal(2)
+}
+(function () {
+    ''.w()
+})()
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug583680.js
@@ -0,0 +1,14 @@
+// Binary: cache/js-dbg-32-2ee92d697741-linux
+// Flags: -m
+//
+function f(foo) {
+    foo.replace(/s/, "")
+    Function(foo)()
+}
+for (a = 0; a < 1000; a++) {
+    f("\
+      for (var b = 0; b < 7; b++) {\
+        gczeal(2)\
+      }\
+    ")
+}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug583681.js
@@ -0,0 +1,4 @@
+// Binary: cache/js-dbg-32-2ee92d697741-linux
+// Flags: -m
+//
+Function[typeof h]
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug584423.js
@@ -0,0 +1,4 @@
+// Binary: cache/js-dbg-64-c761f8e85b8c-linux
+// Flags:
+//
+uneval(Function("function r([],x){this.b=function(){x}}"))
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug586538.js
@@ -0,0 +1,12 @@
+// Binary: cache/js-dbg-32-f7cf2b7b7961-linux
+// Flags: -m
+//
+Function("\
+  for (var a = 0,i=0;i<10;++i) {\
+    if (a % 3) {\
+      return\
+    }\
+    function b() {}\
+    b((function() {})([Infinity]))\
+  }\
+")()
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug586559.js
@@ -0,0 +1,18 @@
+// |jit-test| error:TypeError
+
+// Binary: cache/js-dbg-32-805fd625e65f-linux
+// Flags: -j
+//
+x = Proxy.create((function () {
+    return {
+        get: function () {}
+    }
+}()), Object.e)
+Function("\
+  for(var a = 0; a < 2; ++a) {\
+    if (a == 0) {}\
+    else {\
+      x > x\
+    }\
+  }\
+")()
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug587433.js
@@ -0,0 +1,15 @@
+// |jit-test| error:TypeError
+
+// Binary: cache/js-dbg-32-89b775191b9d-linux
+// Flags: -j
+//
+x = Proxy.create(function() {
+  return {
+    get: function() {}
+  };
+} ());
+for (var a = 0; a < 6; ++a) {
+  if (a == 3) {
+    x > ""
+  }
+}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug589093.js
@@ -0,0 +1,9 @@
+// Binary: cache/js-dbg-32-b22e82ce2364-linux
+// Flags: -j
+//
+x = (w for (x in []))
+for (w in [0, 0, 0, 0]) {
+    (function() {
+        [c for (z in x)]
+    })()
+}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug589103.js
@@ -0,0 +1,6 @@
+// |jit-test| error:InternalError
+
+// Binary: cache/js-dbg-64-b22e82ce2364-linux
+// Flags:
+//
+print(__proto__ = Proxy.create(this, ""))
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug590772.js
@@ -0,0 +1,4 @@
+// Binary: cache/js-dbg-32-f561f17e6c27-linux
+// Flags:
+//
+Reflect.parse("for (var x = 3 in []) { }")
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug591367.js
@@ -0,0 +1,6 @@
+// Binary: cache/js-dbg-32-33b05dd43cd4-linux
+// Flags: -m
+//
+for (let x in []) {
+  t(x !== x)
+}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug591418.js
@@ -0,0 +1,12 @@
+// Binary: cache/js-dbg-32-33b05dd43cd4-linux
+// Flags: -j
+//
+(function() {
+  for each(let z in [0, 0, 0, 0]) {
+    eval("\
+      for(var a = 0; a < 1; ++a) {\
+        this\
+      }\
+    ")
+  }
+})()
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug591795.js
@@ -0,0 +1,4 @@
+// Binary: cache/js-dbg-32-eae8350841be-linux
+// Flags:
+//
+gczeal()
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug592224.js
@@ -0,0 +1,16 @@
+// |jit-test| error:TypeError
+
+// Binary: cache/js-dbg-64-e8ee411dca70-linux
+// Flags:
+//
+__defineGetter__("x", function () {});
+function z() {
+    "".replace(/s/, "");
+}
+z();
+(function () {
+    for (a = 0; a < 2; a++) {
+        __defineGetter__("", /a/);
+        for each(y in [__defineGetter__("x", function(){})]) {}
+    }
+}());
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug592226.js
@@ -0,0 +1,21 @@
+// |jit-test| error:TypeError
+
+// Binary: cache/js-dbg-64-e8ee411dca70-linux
+// Flags:
+//
+x = Proxy.create((function () {
+    return {
+        get: Object.create
+    }
+})([]), "")
+try {
+    (function () {
+        for each(l in [0]) {
+            print(x)
+        }
+    })()
+} catch (e) {}
+gc()
+for each(let a in [0]) {
+    print(x)
+}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug593580.js
@@ -0,0 +1,29 @@
+// Binary: cache/js-dbg-64-60af58b42567-linux
+// Flags:
+//
+realEval = eval
+f = eval("(function(){for(let x in[\
+         __defineGetter__(\"\",function(){})\
+         ,__defineGetter__(\"\
+         functional\
+         \",Math.pow)\
+         ]){\
+         (__defineSetter__(\"\",function(){}))\
+         ()\
+         }})")
+try {
+    f()
+} catch (r) {
+    delete this.eval
+    delete this.Math
+    eval = realEval
+    e = this.toSource
+}
+f = eval("(function(){(__defineSetter__(\"\
+         functional\
+         \",(function(){return{t:function(){}}})))()})")
+try {
+    f()
+} catch (r) {
+    eval()
+}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug593605.js
@@ -0,0 +1,11 @@
+// Binary: cache/js-dbg-32-60af58b42567-linux
+// Flags:
+//
+function z(b) {
+ if (b) this.x = Object;
+ this.__defineGetter__("x", encodeURIComponent)
+ this.c = delete s
+}
+for each(a in [/x/, 0]) {
+ new z(a)
+}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug595911.js
@@ -0,0 +1,4 @@
+// Binary: cache/js-dbg-64-f5e128da7b5f-linux
+// Flags: -j
+//
+[(delete(/x/ [x])) for each(x in [0, 0, 0, 0, 0, x, 0, 0, 0x40000001])]
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug595923.js
@@ -0,0 +1,5 @@
+// Binary: cache/js-dbg-64-f5e128da7b5f-linux
+// Flags:
+//
+x = Proxy.createFunction((function () {}), Uint16Array, wrap)
+try { new(wrap(x)) } catch(exc1) {}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug596817.js
@@ -0,0 +1,4 @@
+// Binary: cache/js-dbg-32-a409054e1395-linux
+// Flags: -m
+//
+(function(){for(var[x]=x>>x in[[]<[]]){[]}})()
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug596823.js
@@ -0,0 +1,6 @@
+// Binary: cache/js-dbg-32-a409054e1395-linux
+// Flags: -j
+//
+for (a = 0; a < 9; a++) {
+  "".charAt(3 / 0)
+}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug599446.js
@@ -0,0 +1,7 @@
+// Binary: cache/js-dbg-32-1c913526c597-linux
+// Flags:
+//
+(function () {
+    x = constructor
+})()
+new(x)(x)
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug599464.js
@@ -0,0 +1,20 @@
+// Binary: cache/js-dbg-64-1c913526c597-linux
+// Flags:
+//
+aa = eval
+function bb() {
+    this.eval = aa
+}
+var f = (function () {
+    (Object.seal)(this)
+    l
+})
+try {
+    f()
+} catch (r) {}
+bb()
+try {
+    f()
+} catch (r) {
+    bb()
+}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug600128.js
@@ -0,0 +1,10 @@
+// Binary: cache/js-dbg-64-54700fad8cf9-linux
+// Flags: -j
+//
+__defineSetter__("x", Object.freeze)
+x = this;
+for (let z = 0; z < 5; z++) {
+    for each(let y in [0, 0, 0]) {
+        print(u = "")
+    }
+}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug600138.js
@@ -0,0 +1,11 @@
+// Binary: cache/js-dbg-64-54700fad8cf9-linux
+// Flags: -j
+//
+function z() {
+    this.a = function () {}
+    this.a = this
+    Object.defineProperty(this, "a", ({}))
+}
+for (e in [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]) {
+    new z()
+}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug600889.js
@@ -0,0 +1,15 @@
+// Binary: cache/js-dbg-64-98c134cf59ef-linux
+// Flags: -j
+//
+uneval = function(){}
+Function("\
+  function zz(aa) {\
+    if (aa) this.a = decodeURIComponent;\
+    gc();\
+    delete this.a\
+  }\
+  for each(c in [0, 0, 0, 0, 0, 0, 0, new Boolean(false), \
+                  0, new Boolean(false), new Boolean(false), \"\"]) {\
+    l=new zz(c)\
+  }\
+")()
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug601070.js
@@ -0,0 +1,5 @@
+// Binary: cache/js-dbg-32-82ff7c27fcb0-linux
+// Flags:
+//
+var x = Int32Array();
+x.set(x);
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug601393.js
@@ -0,0 +1,9 @@
+// Binary: cache/js-dbg-64-0230a9e80c1f-linux
+// Flags: -m
+//
+var code = "(function(){ function eval(){} function eval(){} ";
+for (var i = 0; i < 2048; ++i) {
+	code += " try{}catch(e){}";
+}
+code += " })()"
+eval(code);
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug601396.js
@@ -0,0 +1,12 @@
+// Binary: cache/js-dbg-32-0230a9e80c1f-linux
+// Flags: -j
+//
+(function(){
+  eval("\
+    for each(let a in['A','A','A','A','A','A','A','A']) {\
+      L:for each(let b in a) {\
+        break L\
+      }\
+    }\
+  ")
+})()
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug605011.js
@@ -0,0 +1,19 @@
+// Binary: cache/js-dbg-32-47a8311cf0bb-linux
+// Flags:
+//
+function g(x, n) {
+  for (var i = 0; i < n; ++i) {
+    x = {
+      a: x
+    };
+  }
+  return x;
+}
+try {
+  d = g(0, 672);
+} catch(exc1) {}
+(function() {
+  try {
+    gczeal(2)(uneval(this))
+  } catch(exc2) {}
+})()
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug605013.js
@@ -0,0 +1,10 @@
+// |jit-test| error:ReferenceError
+
+// Binary: cache/js-dbg-32-47a8311cf0bb-linux
+// Flags:
+//
+x = /x/
+Function("Object.defineProperty(x,new AttributeName,({e:true,enumerable:true}))")()
+{
+  throw (Object.keys)(x, /x/)
+}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug606639.js
@@ -0,0 +1,9 @@
+// |jit-test| error:Error
+
+// Binary: cache/js-dbg-64-32b049250e03-linux
+// Flags: -m
+//
+function v(s) { eval(s); }
+v("eval(function(){})()");
+var x = Int32Array(0);
+v("x.set()");
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug607502.js
@@ -0,0 +1,8 @@
+// Binary: cache/js-dbg-32-d253c44465ae-linux
+// Flags: -m
+//
+function q() { ++i; }
+var i = 0;
+Object.freeze(this);
+q();
+q();
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug607513.js
@@ -0,0 +1,5 @@
+// Binary: cache/js-dbg-64-d253c44465ae-linux
+// Flags:
+//
+Object.freeze(this);
+try { eval('const q;') } catch(exc1) {}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug609287.js
@@ -0,0 +1,19 @@
+// |jit-test| error:TypeError
+
+// Binary: cache/js-dbg-32-7ec0a71652a6-linux
+// Flags:
+//
+f = eval("\
+  (function() {\
+    __proto__ = \
+    Proxy.createFunction((\
+    function() {\
+      return {\
+        has: ArrayBuffer,\
+      }\
+    })\
+    (\"\"), \
+    JSON.parse\
+    )\
+  })\
+")()
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug610088.js
@@ -0,0 +1,10 @@
+// Binary: cache/js-dbg-64-7ef107ab081e-linux
+// Flags:
+//
+var sandbox = evalcx("");
+function e(code) { try { evalcx(code, sandbox); } catch(e) { } }
+e("let x;");
+e("Object.seal(this);");
+e("x=Proxy.createFunction({keys:Object.getPrototypeOf},function(){})");
+e("const y;");
+
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug612836.js
@@ -0,0 +1,4 @@
+// Binary: cache/js-dbg-32-7b8898c9b54c-linux
+// Flags:
+//
+wrap(this)
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug613400.js
@@ -0,0 +1,4 @@
+// Binary: cache/js-dbg-32-cbd2053aa825-linux
+// Flags:
+//
+/(?!()m)/.exec("m");
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug620315.js
@@ -0,0 +1,4 @@
+// Binary: cache/js-dbg-64-fc50c521bf48-linux
+// Flags: -j -m
+//
+new Function('"use strict"; for (var j = 0; j < 9; ++j) { 4 > this; }')()
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug620637.js
@@ -0,0 +1,20 @@
+// |jit-test| error:Error
+
+// Binary: cache/js-dbg-64-aeeb631c6d43-linux
+// Flags:
+//
+options('tracejit');
+var actual = ''
+function f() {
+    for (var a = 0; a < 3; ++a) {
+        (function () {
+            for (var b = 0; b < 2; ++b) {
+                (function () {
+                    for (a = 0, b = 0; b < 15; b++, actual = actual + "7") {
+                    }
+                })();
+            }
+        })();
+    }
+}
+f();
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug620640.js
@@ -0,0 +1,26 @@
+// Binary: cache/js-dbg-32-38f985b0522c-linux
+// Flags: -j
+//
+var g;
+var e;
+var w;
+for each (a in this) { }
+d = 3;
+x = 3;
+for (var m = 0; m < 9; ++m) {}
+for each (var c in this) { }
+for each(let d in [
+  [],
+  [],
+  [],
+  function () {},
+  undefined
+]) {
+    for each(let f in [
+      [],
+      [],
+      true,
+      [],
+      true
+    ]) {}
+}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug621816.js
@@ -0,0 +1,4 @@
+// Binary: cache/js-dbg-32-250bf984b8bc-linux
+// Flags: -j
+//
+for (let j=0; j<9; ++j) { var a = new Int8Array(); a[0] = 5; a[0]; }
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug621988.js
@@ -0,0 +1,5 @@
+// Binary: cache/js-dbg-64-250bf984b8bc-linux
+// Flags:
+//
+f = function() { L: 3; alert(5); }
+print(f.toString(28800000,23,59,999));
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug622167.js
@@ -0,0 +1,26 @@
+// Binary: cache/js-dbg-64-fe4489fb36ab-linux
+// Flags:
+//
+function
+ eval( ) { eval();}
+try {
+DoWhile_3();
+} catch(e) {
+}
+function DoWhile_3() {
+  var result2 = "pass";
+woohooboy: {
+    eval('(function() { x getter= function(){} ; var x5, x = 0x99; })();');
+  }
+}
+test();
+function test()
+{
+  function foopy()
+  {
+    var f = function(){ r = arguments; test(); yield 170; }
+    try { for (var i in f()) { } } catch (iterError) { }
+  }
+  foopy();
+  gc();
+}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug622318.js
@@ -0,0 +1,11 @@
+// Binary: cache/js-dbg-32-e0fc487c23f4-linux
+// Flags: -j
+//
+try {
+    for (window = (0
+    for (x in V)); f;) {}
+} catch(e) {}
+for each(let z in [0, 0, 0, 0, 0, 0, 0, 0, 0]) {
+    for (v in window) {}
+}
+var e, V
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug630770.js
@@ -0,0 +1,5 @@
+// Binary: cache/js-dbg-64-3b3710520c0e-linux
+// Flags:
+//
+options('strict')
+Function("function y(x,x)d")
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug634236.js
@@ -0,0 +1,13 @@
+// |jit-test| error:ReferenceError
+
+// Binary: cache/js-dbg-32-e25c8949931d-linux
+// Flags:
+//
+(eval("\
+  (function(){\
+    b = {};\
+    b.__proto__=evalcx('split');\
+    print(b)\
+    }\
+  )\
+"))()
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug635389.js
@@ -0,0 +1,8 @@
+// |jit-test| error:InternalError
+
+// Binary: cache/js-dbg-64-a3946d490610-linux
+// Flags:
+//
+var x = [];
+x.join = x.toString;
+"" + x;
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug637010.js
@@ -0,0 +1,13 @@
+// Binary: cache/js-dbg-64-d708c2fa7fea-linux
+// Flags:
+//
+var o0 = Iterator.prototype;
+function f0(o) {}
+try {
+  for(var i=0; i<7; i++) {
+    try { o0.prototype(); } catch(e) {
+      if (o0.next() != 7)
+        throw "7 not yielded";
+    };
+  }
+} catch(exc1) {}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug637205.js
@@ -0,0 +1,35 @@
+// Binary: cache/js-dbg-64-21e90d198613-linux
+// Flags:
+//
+var x  = {};
+function jsTestDriverEnd()
+{
+  for (var optionName in x)
+  {
+  }
+  x = {};
+}
+var o2 = this;
+var o5 = Function.prototype.__proto__;
+function f28(o) {
+var _var_ = o;
+_var_['__proto_'+'_'] = null;
+}
+function _var_(
+ f7) { function f15(o) {
+}
+}
+function f39(o) {
+for(var j=0; j<5; j++) {
+try { o.__proto__ = o2; } catch(e) {}
+}
+}
+for(var i=0; i<11; i++) {
+f39(o5);
+f28(o2);
+}
+jsTestDriverEnd();
+{
+  delete Function;
+}
+jsTestDriverEnd();
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug638212.js
@@ -0,0 +1,21 @@
+// Binary: cache/js-dbg-64-01037ab16a65-linux
+// Flags: -j -m -a
+//
+o2 = this;
+function f0(o) { }
+function f4(o) { }
+(function() {
+Object.seal(o2);
+})();
+function f3(o) { }
+function f7(o) {
+var _var_ = o;
+--(_var_["-1"]);
+}
+for(var i1=0; i1<6; i1++) {
+f4(f3);
+f4 = wrap(f7);
+}
+f4(f0);
+
+try { eval("var __proto__"); } catch(exc1) {}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug638735.js
@@ -0,0 +1,24 @@
+// Binary: cache/js-dbg-64-290712e55ade-linux
+// Flags: -j
+//
+var o9 = Function.prototype;
+var o13 = Array;
+function f5(o) {
+o.watch('p3', function() {});
+ox1 = wrap(o);
+}
+f5(o9);
+f5(o13);
+var o0 = XMLList;
+function f3(o) {
+            var prop = Object.getOwnPropertyNames(ox1)[0];
+            if (prop) { Object.defineProperty(ox1, prop, {configurable: true,enumerable: true,unused: 1 }); }
+}(function() {
+for(var o3 in o0) {
+f3(f3);
+}
+})();
+  for (var i = 0; i < 9; i++)
+  {
+    new Array(1, 2);
+  }
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug639413.js
@@ -0,0 +1,9 @@
+// |jit-test| error:TypeError
+
+// Binary: cache/js-dbg-32-1c8e91b2e3a4-linux
+// Flags:
+//
+a = evalcx("lazy");
+a.watch("x", function() {});
+({}).watch("x", function() {});
+a.__defineGetter__("y", {});
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug640079.js
@@ -0,0 +1,9 @@
+// |jit-test| error:ReferenceError
+
+// Binary: cache/js-dbg-32-adc45b0a01c8-linux
+// Flags: -m -n
+//
+eval("\
+  x = evalcx('split');\
+  evalcx(\"for(e in <x/>){}\" ,x)\
+")
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug643670.js
@@ -0,0 +1,19 @@
+// |jit-test| error:ReferenceError
+
+// Binary: cache/js-dbg-32-55f463c562d4-linux
+// Flags: -m -n -a
+//
+o3 = evalcx("split")
+function f3(o) {
+    try {
+        new o
+    } catch(e) {}
+}
+function f16(o) {
+    Object.getOwnPropertyNames(o);
+    o.__defineGetter__("prototype", function() {})
+}
+for (;;) {
+    new f3(o3);
+    f16(o3)
+}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug643847.js
@@ -0,0 +1,13 @@
+// Binary: cache/js-dbg-64-c811be25eaad-linux
+// Flags:
+//
+function f(o) {
+  o.constructor = function() {};
+}
+__proto__.__defineSetter__('constructor',
+function(v) {});
+f({});
+Object.defineProperty(__proto__, 'constructor', {
+  writable: true,
+});
+f({});
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug647464.js
@@ -0,0 +1,4 @@
+// Binary: cache/js-dbg-32-c340841f0465-linux
+// Flags: -m -n -a
+//
+RegExp.__proto__
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug648729.js
@@ -0,0 +1,8 @@
+// Binary: cache/js-dbg-32-d3215d1e985a-linux
+// Flags: -m -n -a
+//
+(function() {
+    for (let y in [0]) {
+        return
+    }
+})()
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug648739.js
@@ -0,0 +1,10 @@
+// |jit-test| error:TypeError
+
+// Binary: cache/js-dbg-64-6c8becdd1574-linux
+// Flags:
+//
+(function () {
+    [] = x = /x/;
+    x.toString = Function.prototype.bind;
+    print(x)
+})()
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug648747.js
@@ -0,0 +1,51 @@
+// |jit-test| error:ReferenceError
+
+// Binary: cache/js-dbg-64-d3215d1e985a-linux
+// Flags: -m -n -a
+//
+function ygTreeView(id) {
+    this.init(id)
+}
+ygTreeView.prototype.init = function (id) {
+    this.root = new ygRootNode(this)
+};
+function ygNode() {}
+ygNode.prototype.init = function (_32, _33, _34) {
+    this.children = []
+    this.expanded = _34
+    if (_33) _33.appendChild(this)
+};
+ygNode.prototype.appendChild = function (_35) {
+    this.children[this.children.length] = _35
+};
+ygNode.prototype.hasChildren = function () {
+    return this.children.length > 0;
+};
+ygNode.prototype.getHtml = function () {
+    var sb = [];
+    if (this.hasChildren(true) && this.expanded) sb[sb.length] = this.renderChildren()
+};
+ygNode.prototype.renderChildren = function () {
+    this.completeRender()
+};
+ygNode.prototype.completeRender = function () {
+    for (var i = 0;;) sb[sb.length] = this.children[i].getHtml()
+};
+ygRootNode.prototype = new ygNode;
+
+function ygRootNode(_48) {
+    this.init(null, null, true)
+}
+ygTextNode.prototype = new ygNode;
+function ygTextNode(_49, _50, _51) {
+    this.init(_49, _50, _51)
+}
+function buildUserTree() {
+    userTree = new ygTreeView("userTree")
+    addMenuNode(userTree, "N", "navheader")
+}
+function addMenuNode(tree, label, styleClass) {
+    new ygTextNode({}, tree.root, false)
+}
+buildUserTree();
+userTree.root.getHtml()
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug648839.js
@@ -0,0 +1,10 @@
+// Binary: cache/js-dbg-64-d3215d1e985a-linux
+// Flags: -m -n -a
+//
+ForIn_1( { length:4, company:"netscape", year:2000, 0:"zero" } );
+function ForIn_1( object ) {
+  PropertyArray = new Array();
+  for ( PropertyArray[PropertyArray.length] in object ) {
+      object[1];
+  }
+}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug648852.js
@@ -0,0 +1,12 @@
+// |jit-test| error:TypeError
+
+// Binary: cache/js-dbg-64-d3215d1e985a-linux
+// Flags: -m -n -a
+//
+var toString = 1;
+VERSION = "";
+function startTest() {
+    if (version) if (VERSION == "ECMA_1") {}
+}
+var VERSION = this;
+startTest();
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug648992.js
@@ -0,0 +1,16 @@
+// Binary: cache/js-dbg-32-74a8fb1bbec5-linux
+// Flags: -m -n -a
+//
+o0 = (3).__proto__
+function f(o) {
+    var prop
+    [o][0][prop] = []
+    try {
+        ({
+            x: function() {
+                return o
+            }
+        }.x()())
+    } catch (e) {}
+}
+f(o0)
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug648999.js
@@ -0,0 +1,10 @@
+// |jit-test| error:TypeError
+
+// Binary: cache/js-dbg-64-74a8fb1bbec5-linux
+// Flags: -m -n -a
+//
+test();
+function test()
+{
+  for (var j = 0; j < 10; ++j) new j;
+}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug649017.js
@@ -0,0 +1,8 @@
+// |jit-test| error:TypeError
+
+// Binary: cache/js-dbg-64-74a8fb1bbec5-linux
+// Flags:
+//
+try {
+  throw {toString: parseInt.call};
+} catch(e) { e.toString(); }
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug649937.js
@@ -0,0 +1,21 @@
+// Binary: cache/js-dbg-64-a3eeee8f7803-linux
+// Flags: -m -n
+//
+var i = 0;
+var gTestcases = new Array;
+var gTc = gTestcases;
+function TestCase(n, d, e, a) {
+  this.description=d;
+  gTestcases[gTc++]=this;
+}
+function writeTestCaseResult( expect, actual, string ) {};
+new TestCase;
+test();
+function test() {
+  for ( gTc=0 ; ; ) {
+    i++;
+    if (i > 20) { break; }
+    gTestcases[gTc].description+=" )";
+    gTestcases=[1,];
+  }
+}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug650574.js
@@ -0,0 +1,9 @@
+// |jit-test| error:InternalError
+
+// Binary: cache/js-dbg-64-0906d9490eaf-linux
+// Flags:
+//
+var e = Error('');
+e.fileName = e;
+e.toSource();
+--> Crash with too much recursion in exn_toSource
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug650617.js
@@ -0,0 +1,6 @@
+// |jit-test| error:ReferenceError
+
+// Binary: cache/js-dbg-64-242947d76f73-linux
+// Flags:
+//
+for (b in [evalcx("let(e)eval()", evalcx('split'))]) {}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug650658.js
@@ -0,0 +1,9 @@
+// |jit-test| error:TypeError
+
+// Binary: cache/js-dbg-64-ac0989a03bf1-linux
+// Flags: -m -n -a
+//
+AddRegExpCases(/a*b/, "xxx", 0, null );
+AddRegExpCases(/x\d\dy/, "abcx45ysss235", 3,[] );
+function AddRegExpCases(regexp, pattern, index, matches_array )
+        (matches_array.length, regexp)
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug651827.js
@@ -0,0 +1,9 @@
+// Binary: cache/js-dbg-32-1fe03044bfeb-linux
+// Flags: -m -n -a
+//
+try {
+    function x() {}
+} catch(e) {}
+switch (undefined) {
+    case(y) = Infinity:
+}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug652177.js
@@ -0,0 +1,15 @@
+// Binary: cache/js-dbg-32-d5fcfa622f16-linux
+// Flags:
+//
+Function.toLocaleString.__proto__ = null
+y = {}.__proto__
+y.p = function() {}
+y.__defineSetter__("", function() {})
+y.__proto__ = Function.toLocaleString
+function b(a) {
+    this.__proto__ = a;
+    Object.freeze(this)
+}
+for each(z in []) {
+    new b
+}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug653395.js
@@ -0,0 +1,19 @@
+// |jit-test| error:TypeError
+
+// Binary: cache/js-dbg-64-09cce9915b80-linux
+// Flags: -m -n
+//
+try {
+    (function () {
+        __proto__ = Uint32Array()
+    }())
+} catch (e) {}(function () {
+})()
+eval("\
+function testAtomize() {\
+    x = {};\
+    for (var i = false ; i < 65536; ++i)\
+        x[String.fromCharCode(i)] = 1;\
+}\
+new testAtomize()(testAtomize(), 65536);\
+");
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug653789.js
@@ -0,0 +1,8 @@
+// |jit-test| error:InternalError
+
+// Binary: cache/js-dbg-64-3dd6ec45084c-linux
+// Flags:
+//
+__defineGetter__("x", eval);
+eval.toString = toLocaleString
+eval < x
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug654392.js
@@ -0,0 +1,15 @@
+// |jit-test| error:InternalError
+
+// Binary: cache/js-dbg-64-3062ff7fef83-linux
+// Flags: -m -n
+//
+function enterFunc (funcName) {}
+test();
+function test()
+{
+  enterFunc ( "NaN number", "'eeeefghi'.match(/e*/)", new test( "Date.prototype" ));
+  function err() {
+    return new Error();
+  }
+  var error = err(s,s,s,s);
+}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug654665.js
@@ -0,0 +1,8 @@
+// Binary: cache/js-dbg-64-3062ff7fef83-linux
+// Flags: -m -n -a
+//
+test();
+function test()
+{
+  for (var i = 0; i < 0e2.length; );
+}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug655507.js
@@ -0,0 +1,6 @@
+// Binary: cache/js-dbg-64-e09e209d988e-linux
+// Flags: -m -n -a
+//
+a = new Array;
+a[2] = "2";
+a[1];
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug655940.js
@@ -0,0 +1,12 @@
+// Binary: cache/js-dbg-32-32e8c937a409-linux
+// Flags: -m -n -a
+//
+NaN.__proto__;
+function f0() {
+    try {} catch(e) {}
+}
+for (i = 0; i < 9; i++) {
+    new f0;
+    f0();
+    gc()
+}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug655950.js
@@ -0,0 +1,13 @@
+// Binary: cache/js-dbg-32-32e8c937a409-linux
+// Flags: -m -n
+//
+function f() {
+    try {
+        (new {
+            x: function() {}
+        }.x)();
+    } catch (e) {}
+}
+for (var i = 0; i<10000; i++) {
+    f();
+}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug657198.js
@@ -0,0 +1,36 @@
+// |jit-test| slow;
+
+// Binary: cache/js-dbg-32-599d1c6cba63-linux
+// Flags: -j
+//
+eval("")
+o15 = {}
+function f11(o) {
+    props = Object.getOwnPropertyNames(o)
+    prop = props.length ? prop[prop.e] + "" : ""
+    o[prop] = 3
+}
+function f12(o) {
+    _someglobal_ = o;
+    for (j = 0; j < 5; j++) {
+        for (x in {
+            x: {
+                x: function() {
+                    return _someglobal_
+                }
+            }.x()
+        }.x) {
+            ({
+                x: {
+                    x: function() {}
+                }.x()
+            }[x])
+        }
+        gc()
+    }
+} {
+    for (i = 0; i < 100; i++) {
+        f12(o15)
+        f11(o15)
+    }
+}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug657586.js
@@ -0,0 +1,9 @@
+// Binary: cache/js-dbg-32-8aa5d9272628-linux
+// Flags: -m -n
+//
+(function() {
+    with([]) {}
+    Object.defineProperty([], "", {
+        set: (function() {})
+    })
+})()
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug657986.js
@@ -0,0 +1,12 @@
+// Binary: cache/js-dbg-32-5d1cbc94bc42-linux
+// Flags: -m -n -a
+//
+function f(x) {
+    this.i = x;
+}
+for each(let e in [0, 0, []]) {
+    try {
+        f(e)
+    } catch (e) {}
+}
+print(uneval(this))
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug658803.js
@@ -0,0 +1,17 @@
+// Binary: cache/js-dbg-32-33f1ad45ccb8-linux
+// Flags: -m -n
+//
+function f() {
+  var N = 624;
+  this.init_genrand = function(s) {
+    for (z = 1; z < N; z++) {}
+  };
+}(function() {
+  new f;
+}());
+function g(o) {
+  var props = Object.getOwnPropertyNames(o);
+  var prop = props[props.length - 1] + "p"
+  o[prop] = Number.prototype.__proto__;
+}
+g(Number.prototype.__proto__);
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug659077.js
@@ -0,0 +1,16 @@
+// Binary: cache/js-dbg-32-29f08848d96c-linux
+// Flags: -j
+//
+try {
+    function l() {        }
+    function r() {        }
+    d = 4;
+    var _ = q;
+} catch (e) {    }
+try {
+    v = ArrayBuffer();
+    s = [];
+    function e() {        }
+    let a;
+    eval("for(var[x]=e in this){(function(){})()}");
+} catch (e) {    }
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug659779.js
@@ -0,0 +1,33 @@
+// Binary: cache/js-dbg-64-8bcb569c9bf9-linux
+// Flags: -m -n -a
+//
+
+var gTestcases = new Array;
+function TestCase(n, d, e, a) {
+  this.description=d
+  gTestcases[gTc++]=this
+}
+TestCase.prototype.dump=function () + toPrinted(this.description)
+function toPrinted(value) value=value;
+function reportCompare (expected, actual, description) {
+  new TestCase("unknown-test-name", description, expected, actual)
+}
+function enterFunc (funcName) {
+  try {
+    expectCompile = 'No Error'
+    var actualCompile;
+    reportCompare(expectCompile, actualCompile, ': compile actual')
+  } catch(ex) {}
+}
+gTc=0;
+function jsTestDriverEnd() {
+  for (var i = 0; i < gTestcases.length; i++) gTestcases[i].dump()
+}
+enterFunc();
+reportCompare(0, 0, 5.123456);
+reportCompare(0, 0, this );
+jsTestDriverEnd();
+try {
+  this.__proto__=[]
+} catch(ex) {}
+jsTestDriverEnd()
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug661840.js
@@ -0,0 +1,39 @@
+// |jit-test| error:ReferenceError
+
+// Binary: cache/js-dbg-32-11714be33655-linux
+// Flags: -m -n
+//
+function f(a) {}
+s = [{
+  s: [],
+  s: function(d, b) {},
+  t: function() {
+    try {} catch (e) {}
+  }
+}, {
+  t: "",
+  s: [],
+  s: function(d, b) {}
+}, {
+  t: "",
+  s: [],
+  s: function(d, b) {},
+  t: function() {}
+}, {
+  t: "",
+  x: "",
+  s: [],
+  g: function(b) {},
+  t: function(f) {}
+}, {
+  t: "",
+  s: [],
+  s: function() {}
+}];
+v = 0
+Function("gc(evalcx('lazy'))")();
+gczeal();
+gc();
+(function() {
+  x
+})()
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug662132.js
@@ -0,0 +1,14 @@
+// Binary: cache/js-dbg-32-6d423e5f2e48-linux
+// Flags: -m -n
+//
+gczeal()
+let n = {}
+let o = {}
+for (let i = 0; i < 5; i++) {
+    Array();
+    for (let j = 0; j < 7; j++) {
+        o.__defineSetter__("", function() {})
+        o.p3 = 1
+        delete o.p3
+    }
+}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug664951.js
@@ -0,0 +1,9 @@
+// |jit-test| error:TypeError
+
+// Binary: cache/js-dbg-64-66c8ad02543b-linux
+// Flags:
+//
+var handler = { fix: function() { return []; } };
+var p = Proxy.createFunction(handler, function(){}, function(){});
+Proxy.fix(p);
+new p();
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug665914.js
@@ -0,0 +1,6 @@
+// |jit-test| error:TypeError
+
+// Binary: cache/js-dbg-32-57ef3b619966-linux
+// Flags:
+//
+ArrayBuffer.prototype['byteLength']
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug666305.js
@@ -0,0 +1,8 @@
+// |jit-test| error:TypeError
+
+// Binary: cache/js-dbg-32-0428dbdf3d58-linux
+// Flags:
+//
+o = (new Uint32Array).buffer
+o.__proto__ = o
+o.__proto__ = o
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug666599.js
@@ -0,0 +1,17 @@
+// |jit-test| error:TypeError
+
+// Binary: cache/js-dbg-32-0428dbdf3d58-linux
+// Flags:
+//
+o1 = Float32Array().buffer
+o2 = ArrayBuffer.prototype
+o3 = Uint32Array().buffer
+for (i = 0; i < 2; i++) {
+    for (var x in o2) {
+        o3.__defineGetter__("", function() {})
+    }
+    o2.__defineGetter__("", function() {})
+    o1[
+    x]
+    o1.__proto__ = o3
+}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug667824.js
@@ -0,0 +1,7 @@
+// Binary: cache/js-dbg-32-208160c856b7-linux
+// Flags: -j
+//
+var x;
+for (let a = 0; a < 8; a++) {
+    Function.prototype()
+}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug668206.js
@@ -0,0 +1,9 @@
+// Binary: cache/js-dbg-64-0d2a1a6e967f-linux
+// Flags: -j -m
+//
+function f() {
+    for (var i = 0; i < 2; ++i) {}
+}
+for (let a = 0; a < 40; a++) {
+    f((new Array) ^ 0)
+}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug669044.js
@@ -0,0 +1,10 @@
+// Binary: cache/js-dbg-32-f59568ec0513-linux
+// Flags: -j
+//
+for each(let y in [0, 0]) {
+    eval("\
+        for each(e in[0,0,0,0,0,0,0,0]) {\
+            x = undefined\
+        }\
+    ")
+}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug672104.js
@@ -0,0 +1,9 @@
+// Binary: cache/js-dbg-64-a37127f33d22-linux
+// Flags: -m -n
+//
+a = {}
+b = __proto__
+for (i = 0; i < 9; i++) {
+    __proto__ = a
+    a.__proto__ = b
+}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug673792.js
@@ -0,0 +1,7 @@
+// |jit-test| error:ReferenceError
+
+// Binary: cache/js-dbg-32-8c7adf094b8e-linux
+// Flags:
+//
+a = {}.__proto__
+gc(evalcx('split'))
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug674207.js
@@ -0,0 +1,4 @@
+// Binary: cache/js-dbg-64-8160165dfcb4-linux
+// Flags:
+//
+unescape(it);
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug674843.js
@@ -0,0 +1,63 @@
+// Binary: cache/js-dbg-64-d066929dd830-linux
+// Flags: -m
+//
+function fnSupportsArrayIndexGettersOnObjects() {
+    if (fnExists(Object.defineProperty)) {
+        var obj = {};
+        Object.defineProperty(obj, "0", {
+            get: function () {
+                supportsArrayIndexGettersOnObjects = true;
+            }
+        });
+        var res = obj[0];
+    }
+    return supportsArrayIndexGettersOnObjects;
+}
+function fnExists( /*arguments*/ ) {
+    return true;
+}
+var ES5Harness = (function () {
+    var $this = this;
+    function registerTest(test) {
+        if (!(test.precondition && !test.precondition())) {
+            try {
+                var res = test.test.call($this);
+            } catch (e) {}
+        }
+    }
+    return {
+        registerTest: registerTest
+    }
+})();
+ES5Harness.registerTest({
+    test: function testcase() {
+        function callbackfn(accum, val, idx, obj) {
+            if (idx === 1 && val === 1) {}
+        }
+        var obj = {
+            length: 10
+        };
+        Object.defineProperty(obj, "0", {
+            get: function () {
+                defineProperty(idx, idx, registerTest + ": }}}}}");
+            },
+        });
+        try {
+            Array.prototype.reduce.call(obj, callbackfn, "initialValue");
+        } finally {}
+    },
+    precondition: function prereq() {
+        return fnExists(Array.prototype.reduce) && fnExists(Object.defineProperty) && fnSupportsArrayIndexGettersOnObjects();
+    }
+});
+ES5Harness.registerTest({
+    test: function testcase() {
+        var obj = {};
+        Object.defineProperty(obj, "property", {
+            configurable: new Date()
+        });
+    },
+    precondition: function prereq() {
+        return fnExists(gczeal(2));
+    }
+});
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug675251.js
@@ -0,0 +1,25 @@
+// |jit-test| error:InternalError
+
+// Binary: cache/js-dbg-64-d43c6dddeb2b-linux
+// Flags: -m -n
+//
+
+function printBugNumber (num) {
+  BUGNUMBER = num;
+  print ('BUGNUMBER: ' + num);
+}
+var actual = '';
+test();
+function test() {
+  printBugNumber(test);
+  function f(N) {
+    for (var i = 0; i != N; ++i) {
+      for (var repeat = 0;repeat != 2; ++repeat) {
+        var count = BUGNUMBER(repeat);
+      }
+    }
+  }
+  var array = [function() { f(10); }, ];
+  for (var i = 0; i != array.length; ++i)
+    array[i]();
+}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug675520.js
@@ -0,0 +1,6 @@
+// Binary: cache/js-dbg-64-6ca8580eb84f-linux
+// Flags:
+//
+var handler = {iterate: function() { return Iterator.prototype; }};
+var proxy = Proxy.create(handler);
+for (var p in proxy) { }
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug678090.js
@@ -0,0 +1,24 @@
+// |jit-test| error:ReferenceError
+
+// Binary: cache/js-dbg-64-609f37c36bd7-linux
+// Flags: -j -m -a
+//
+
+function toSource(arr) {
+  for (i=0; i<len; i++) {}
+}
+test();
+function test() {
+  function gen() {
+    var c = test;
+    try {
+      yield c;
+    } finally {
+      this.toSource();
+    }
+  }
+  var iter = gen();
+  for (i in iter) {
+    500();
+  }
+}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug678362.js
@@ -0,0 +1,8 @@
+// |jit-test| error:InternalError
+
+// Binary: cache/js-dbg-64-4b4b359e77e4-linux
+// Flags:
+//
+var replacer = [0, 1, 2, 3];
+Object.defineProperty(replacer, 3.e7, {});
+JSON.stringify({ 0: 0, 1: 1, 2: 2, 3: 3 }, replacer)
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug679799.js
@@ -0,0 +1,16 @@
+// Binary: cache/js-dbg-64-2d95fc517e57-linux
+// Flags: -m -n -a
+//
+
+function test()
+{
+  var x = { "0": 3, "-0": 7 };
+  try {
+    delete x["-0"];
+    if ("-0" in x)
+      throw "0 not in x after insertion of 0 property";
+    this ["-0"] = 7;
+  } catch(ex) {}
+}
+test();
+test();
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug679810.js
@@ -0,0 +1,14 @@
+// Binary: cache/js-dbg-64-2d95fc517e57-linux
+// Flags: -m -n
+//
+
+function WorkerBee(name, dept, projs) {
+    this.projects &= projs || new Array();
+}
+function Engineer(name, projs, machine) {
+    this.base = WorkerBee;
+    this.base(name, "engineering", projs)
+    this.machine = machine || "";
+}
+Engineer.prototype = new XMLList();
+var les = new Engineer("Morris, Les", new Array("JavaScript"), "indy");
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug680797.js
@@ -0,0 +1,46 @@
+// |jit-test| error:InternalError
+
+// Binary: cache/js-dbg-64-a2bbe9c999b4-linux
+// Flags: -m -n
+//
+gczeal(2);
+function Day( t ) {}
+function YearFromTime( t ) {}
+function HourFromTime( t ) {}
+function MakeTime( hour, min, sec, ms ) {}
+function MakeDay( year, month, date ) {}
+function MakeDate( day, time ) {}
+function TimeClip( t ) {
+  return ToInteger( t );
+}
+function ToInteger( t ) {
+  sign = 1
+  return sign * Math.floor( Math.abs( t ) );
+}
+addNewTestCase( 28800000, 23, 59, 999,0, "TDATE = new Date(28800000);(TDATE).setHours(23,59,999);TDATE" );
+function addNewTestCase( time, hours, min, sec, ms, DateString) {
+  UTCDateFromTime( SetHours( time, hours, min, sec, ms ))
+}
+function MyDate() this.seconds=0;function UTCDateFromTime(t) {
+  MyDateFromTime(t)
+}
+function MyDateFromTime( t ) {
+  d = new MyDate
+  d.year=YearFromTime(t)
+  d.month=
+  d.date=
+  d.hours=HourFromTime(t)
+  d.minutes=
+  d.time=MakeTime( d.hours, d, d.seconds, d )
+  d=TimeClip( MakeDate( MakeDay( d.year, d.month, ( ( MyDateFromTime(t) ) , null ) ), d.time ) )
+}
+function SetHours( t, hour, min, sec, ms ) {
+  TIME =
+  HOUR =
+  MIN =  min == 0 ? TIME :
+  SEC  = sec ==  0 ? addNewTestCaseSecFromTime : Number
+  var MS   = ms == void 0 ? TIME  : ms;
+  var RESULT6 = ( HOUR, MS );
+  var UTC_TIME = MakeDate(Day(TIME), RESULT6);
+  return TimeClip(UTC_TIME);
+}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug682252.js
@@ -0,0 +1,7 @@
+// Binary: cache/js-dbg-64-7054f0e3e70e-linux
+// Flags:
+//
+
+re = new RegExp("([^b]*)+((..)|(\\3))+?Sc*a!(a|ab)(c|bcd)(<*)", "i");
+var str = "aNULLxabcd";
+str.replace(re, function(s) { return s; });
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug682298.js
@@ -0,0 +1,6 @@
+// |jit-test| error:ReferenceError
+
+// Binary: cache/js-dbg-32-cc1e08803869-linux
+// Flags:
+//
+(function(){clear()})()
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug682563.js
@@ -0,0 +1,12 @@
+// Binary: cache/js-dbg-64-9a0172368402-linux
+// Flags: -m -n
+//
+var TITLE = "Labeled statements";
+LabelTest(0, 0);
+function LabelTest(limit, expect) {
+    woo: for (var result = 0; limit<100; result++,limit++) {
+        if (result == limit) {
+            result = 'Error';
+        } else "$0$00" || this ? TITLE : 1;
+    };
+}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug684281.js
@@ -0,0 +1,14 @@
+// Binary: cache/js-dbg-64-fcca99426576-linux
+// Flags: -m -n -a
+//
+
+function printStatus (msg) {}
+F = function () {};
+F.prototype = new Int32Array(1);
+o = new F();
+function f2(o){
+	with(this)
+	for(var x in o)
+	printStatus(o[x]);
+}
+f2([]);
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug685472.js
@@ -0,0 +1,12 @@
+// |jit-test| error:TypeError
+
+// Binary: cache/js-dbg-64-b7d269a291b6-linux
+// Flags: -m -n -a
+//
+
+function Integer(value, exception) {
+    try {} catch (e) {}
+    new(value = this)(this.value);
+    Math.floor(({})[value.Math, this].abstract)
+}
+new Integer(3, false);
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug686107.js
@@ -0,0 +1,15 @@
+// |jit-test| error:TypeError
+
+// Binary: cache/js-dbg-64-d078623f7875-linux
+// Flags: -m -n -a
+//
+
+function testKeyTransitions() {
+  var i, key, result, message;
+  var array = [];
+  for (i = 0; i != 10; i++) {
+    key = (i < 3) ? 'pop' : (/\u009e\u0029/g );
+    array[key](i);
+  }
+}
+testKeyTransitions();
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug686179.js
@@ -0,0 +1,15 @@
+// Binary: cache/js-dbg-64-b31b25125429-linux
+// Flags: -m -n -a
+//
+
+(function () {
+  assertEquals = function assertEquals(expected, found, name_opt) {  };
+  assertTrue = function assertTrue(value, name_opt) {  };
+})();
+function f0() {}
+function f1(x) {}
+function test(f) {
+  assertTrue(null === (assertEquals).arguments);
+}
+test(f0);
+test(f1);
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug687099.js
@@ -0,0 +1,30 @@
+// Binary: cache/js-dbg-64-94ceb173baed-linux
+// Flags: -m -n -a
+//
+
+gczeal(2);
+function iso(d) {
+  return new Date(d).toISOString();
+}
+function check(s, millis){
+  description = "Date.parse('"+s+"') == '"+iso(millis)+"'";
+}
+function dd(year, month, day, hour, minute, second, millis){
+  return Date.UTC(year, month-1, day, hour, minute, second, millis);
+}
+function TZAtDate(d){
+  return d.getTimezoneOffset() * 60000;
+}
+function TZInMonth(month){
+  return TZAtDate(new Date(dd(2009,month,1,0,0,0,0)));
+}
+JulTZ = TZInMonth(7);
+check("2009-07-23T19:53:21.001+12:00", dd(2009,7,23,7,53,21,1));
+check("2009-07-23T19:53:21+12:00",     dd(2009,7,23,7,53,21,0));
+check("2009-07-23T19:53+12:00",        dd(2009,7,23,7,53,0,0));
+check("2009-07T19:53:21.001",          dd(2009,0Xe ,1,19,53,21,1)+JulTZ);
+check("2009-07T19:53:21",              dd(2009,7,1,19,53,21,0)+JulTZ);
+check("2009-07T19:53",                 dd(2009,7,1,19,53,0,0)+JulTZ);
+check("2009-07-23T19:53:21.001+12:00", dd(2009,7,23,7,53,21,1));
+check("2009-07-23T00:00:00.000-07:00", dd(2009,7,23,7,0,0,0));
+check("2009-07-23T24:00:00.000-07:00", dd(2009,7,24,7,0,0,0));
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug687102.js
@@ -0,0 +1,7 @@
+// |jit-test| error:Error
+
+// Binary: cache/js-dbg-32-f3f5d8a8a473-linux
+// Flags:
+//
+function caller(obj) {}
+var pc = line2pc(caller, pc2line(caller, 0XeBebb ) + 2);
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug687125.js
@@ -0,0 +1,25 @@
+// Binary: cache/js-dbg-64-f3f5d8a8a473-linux
+// Flags: -m -n
+//
+
+function MakeDay( year, month, date ) {
+  date = ToInteger(date );
+  var t = ( year < 1970 ) ? 1 :  0;
+  return ( (Math.floor(t/86400000)) + date - 1 );
+}
+function MakeDate( day, time ) {
+  if ( day == Number.POSITIVE_INFINITY || day == Number.NEGATIVE_INFINITY ) {  }
+}
+function ToInteger( t ) {
+  var sign = ( t < 0 ) ? -1 : 1;
+  return ( sign * Math.floor( Math.abs( t ) ) );
+}
+var UTCDate = MyDateFromTime( Number("946684800000") );
+function MyDate() {
+  this.date = 0;
+}
+function MyDateFromTime( t ) {
+  var d = new MyDate();
+  d.value = ToInteger( MakeDate( MakeDay( d.year, d.month, d.date ), d.time ) );
+  var i = 0; while (Uint32Array && i < 10000) { ++i; if (0 == 100000) return;   }
+}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug687398.js
@@ -0,0 +1,9 @@
+// Binary: cache/js-dbg-64-06445f55f009-linux
+// Flags:
+//
+
+var handler = { "\u0039" : function() {} };
+var g = newGlobal('new-compartment');
+if (typeof findReferences == 'function') {
+  findReferences(g);
+}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug687399.js
@@ -0,0 +1,30 @@
+// Binary: cache/js-dbg-64-06445f55f009-linux
+// Flags: -m -n -a
+//
+
+if (!this.emulatedJSON) {
+    emulatedJSON = function () {
+        function stringify(value, whitelist) {
+            var a, i, v;
+            switch (typeof value) {
+            case 'string':
+                if (!(value.propertyIsEnumerable('length'))) {
+                    for (i = 0; i < l; i += 1) {
+                        k = whitelist[i];
+                        if (typeof k === 'string') {
+                            if (i %= 'not visited') {}
+                        }
+                    }
+                }
+            }
+        }
+        return {
+            stringify: stringify,
+        };
+    }();
+    var testPairs = [ ['{"five":5}'] ]
+    for (var i = 0; i < testPairs.length; i++) {
+        var pair = testPairs[i];
+        var s = emulatedJSON.stringify(pair[1])
+    }
+}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug688968.js
@@ -0,0 +1,8 @@
+// Binary: cache/js-dbg-64-fecae145d884-linux
+// Flags: -m -n -a
+//
+
+function foo(x) {
+  x === x--;
+}
+foo(1.2);
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug688973.js
@@ -0,0 +1,8 @@
+// |jit-test| error:TypeError
+
+// Binary: cache/js-dbg-64-fecae145d884-linux
+// Flags:
+//
+
+const [ QName, [] ] = ['a b','c d'];
+var xmlOl = new XML('foo');
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug688974.js
@@ -0,0 +1,13 @@
+// Binary: cache/js-dbg-64-fecae145d884-linux
+// Flags: -m -n
+//
+
+gczeal(2);
+Object.defineProperty(Object.prototype, "b", {set: function() {}});
+function C(a, b) {
+    this.a=a;
+    this.b=b;
+}
+var f = C.bind(0x2004, 2);
+for (var i=0; i<10000; ++i)
+    new f;
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug689892.js
@@ -0,0 +1,11 @@
+// Binary: cache/js-dbg-32-7f4867717226-linux
+// Flags: -m -n -a
+//
+
+function foo2(x, n) {
+  var i = 0;
+  while (--n >= 0) {
+    x[i++] = 0;
+  }
+}
+foo2([1,0Xae ,3,4,5],('0123456'));
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug690396.js
@@ -0,0 +1,11 @@
+// Binary: cache/js-dbg-64-ff51ddfdf5d1-linux
+// Flags:
+//
+
+function makeGenerator() {
+  yield function generatorClosure() {};
+}
+var generator = makeGenerator();
+if (typeof findReferences == 'function') {
+  findReferences(generator);
+}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug690650.js
@@ -0,0 +1,16 @@
+// Binary: cache/js-dbg-32-44ef245b8706-linux
+// Flags: -m -n -a
+//
+[].__proto__.__defineGetter__("", function() {});
+var tryCatch = " try{}catch(e){}";
+for (var i = 0; i < 13; ++i) {
+  tryCatch += tryCatch;
+}
+eval("\
+    (function() {\
+        for each(c in[0,0]){\
+" + tryCatch + "\
+            print\
+        }\
+    })\
+")()
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug692300.js
@@ -0,0 +1,10 @@
+// Binary: cache/js-dbg-64-38a487da2def-linux
+// Flags:
+//
+
+var x = newGlobal("new-compartment").Date;
+var OBJ = new MyObject( new x(0) );
+try { eval("OBJ.valueOf()"); } catch(exc1) {}
+function MyObject( value ) {
+  this.valueOf = x.prototype.valueOf;
+}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug692366.js
@@ -0,0 +1,6 @@
+// Binary: cache/js-dbg-64-32536d199fcf-linux
+// Flags:
+//
+try {
+  Uint8Array.subarray(newGlobal('new-compartment'));
+} catch(exc1) {}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug693144.js
@@ -0,0 +1,12 @@
+// Binary: cache/js-dbg-64-b4da2d439cbc-linux
+// Flags: -m -n -a
+//
+
+function f() {
+  var oa = [];
+  for (var i = 0; i < 8; ++i) {
+    var o = {};
+    oa[(new Int32Array(ArrayBuffer.prototype).length)] = o;
+  }
+}
+f();
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug693971.js
@@ -0,0 +1,12 @@
+// Binary: cache/js-dbg-64-07c668448519-linux
+// Flags: -m -n
+//
+
+function testContinue() {
+    for (i = 0; i < 100; ++i) {
+        if ([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15])
+            continue;
+    }
+    return 0;
+}
+assertEq(testContinue(), 0);
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug694438.js
@@ -0,0 +1,61 @@
+// Binary: cache/js-dbg-64-ae061e27e3df-linux
+// Flags: -m -n
+//
+
+var lfcode = new Array();
+lfcode.push("29cff0b98e80f8b27367a56b3c752dedc59a01fd.js");
+lfcode.push("da39a3ee5e6b4b0d3255bfef95601890afd80709.js");
+lfcode.push("3");
+lfcode.push("b40eb3beb80c7cde2828a33bd779f7826e25287d.js");
+lfcode.push("f7b783e07cd0e61b675319866b62c96b521d3c12.js");
+lfcode.push("29cff0b98e80f8b27367a56b3c752dedc59a01fd.js");
+lfcode.push("da39a3ee5e6b4b0d3255bfef95601890afd80709.js");
+lfcode.push("1");
+lfcode.push("02b39295c36bbe079e9dca0aca95d253d064a194.js");
+lfcode.push("f7b783e07cd0e61b675319866b62c96b521d3c12.js");
+lfcode.push("29cff0b98e80f8b27367a56b3c752dedc59a01fd.js");
+lfcode.push("da39a3ee5e6b4b0d3255bfef95601890afd80709.js");
+lfcode.push("4");
+lfcode.push("6d3ccd7e95a67392260056fd31425aa671cb5c54.js");
+lfcode.push("f7b783e07cd0e61b675319866b62c96b521d3c12.js");
+lfcode.push("29cff0b98e80f8b27367a56b3c752dedc59a01fd.js");
+lfcode.push("da39a3ee5e6b4b0d3255bfef95601890afd80709.js");
+lfcode.push("0");
+lfcode.push("0d88bd3fca079ce7b26f26e12511d3e36edb4202.js");
+lfcode.push("f7b783e07cd0e61b675319866b62c96b521d3c12.js");
+lfcode.push("29cff0b98e80f8b27367a56b3c752dedc59a01fd.js");
+lfcode.push("da39a3ee5e6b4b0d3255bfef95601890afd80709.js");
+lfcode.push("4");
+lfcode.push("c26e5241caa1d0dad95a2202a57cdc48322e5917.js");
+lfcode.push("f7b783e07cd0e61b675319866b62c96b521d3c12.js");
+lfcode.push("29cff0b98e80f8b27367a56b3c752dedc59a01fd.js");
+lfcode.push("da39a3ee5e6b4b0d3255bfef95601890afd80709.js");
+lfcode.push("3");
+lfcode.push("7eeb48e00f249e4a8ab82e7c70102725f3c88195.js");
+lfcode.push("f7b783e07cd0e61b675319866b62c96b521d3c12.js");
+lfcode.push("29cff0b98e80f8b27367a56b3c752dedc59a01fd.js");
+lfcode.push("da39a3ee5e6b4b0d3255bfef95601890afd80709.js");
+lfcode.push("2");
+lfcode.push("7b61d02cc95bbc7309f749c5deb5d4709687214f.js");
+lfcode.push("f7b783e07cd0e61b675319866b62c96b521d3c12.js");
+lfcode.push("29cff0b98e80f8b27367a56b3c752dedc59a01fd.js");
+lfcode.push("da39a3ee5e6b4b0d3255bfef95601890afd80709.js");
+lfcode.push("1");
+lfcode.push("8eafe3c62c3ce1635548fc09c4434ef0259bcfff.js");
+lfcode.push("f7b783e07cd0e61b675319866b62c96b521d3c12.js");
+lfcode.push("29cff0b98e80f8b27367a56b3c752dedc59a01fd.js");
+lfcode.push("da39a3ee5e6b4b0d3255bfef95601890afd80709.js");
+var lfRunTypeId = -1;
+while (true) {
+	var file = lfcode.shift(); if (file == undefined) { break; }
+        loadFile(file);
+}
+function loadFile(lfVarx) {
+	try {
+		if (lfVarx.substr(-3) == ".js") {
+			switch (lfRunTypeId) {
+				case 4: eval("(function() { " + "" + " })();");
+			}
+		}
+	} catch (lfVare) {	}
+}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug695290.js
@@ -0,0 +1,11 @@
+// |jit-test| error:Error
+
+// Binary: cache/js-dbg-64-cf5da681d577-linux
+// Flags: -m -n -a
+//
+
+options("typeinfer");
+gczeal(2);
+var g = newGlobal('new-compartment');
+gcparam("maxBytes", 22000);
+let array = g.eval("new Array(1,2,3)");
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug696039.js
@@ -0,0 +1,21 @@
+// Binary: cache/js-dbg-32-67673422f7d2-linux
+// Flags: -m -n -a
+//
+
+gczeal(2);
+var lfcode = new Array();
+lfcode.push("");
+lfcode.push("");
+while (lfcode.length > 0) {
+        var file = lfcode.shift();
+        loadFile(file);
+}
+function loadFile(lfVarx) {
+        try {
+                eval("\
+                        Array.prototype[30] = 'B';\
+                        delete Array.prototype[30];\
+                        assertEquals('edcba', a.join(''));\
+                ");
+        } catch (lfVare) {}
+}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug697255.js
@@ -0,0 +1,12 @@
+// Binary: cache/js-dbg-32-6cd262091470-linux
+// Flags: -j
+//
+a = evalcx("lazy");
+b = {}
+b.__proto__ = a
+a.__proto__ = String
+for (var a = 0; a < 50; a++) {
+    try {
+        b + ""
+    } catch (e) {}
+}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug698074.js
@@ -0,0 +1,7 @@
+// Binary: cache/js-dbg-32-b01eb1ba58ce-linux
+// Flags:
+//
+a = (0).__proto__
+b = (0).__proto__
+b.__defineSetter__("valueOf", function() {})
+a + 8
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug698899.js
@@ -0,0 +1,9 @@
+// Binary: cache/js-dbg-32-f951e9151626-linux
+// Flags: -m -n
+//
+o = evalcx("lazy").__proto__
+gc()
+try {
+    o.watch()
+} catch (e) {}
+o.constructor()
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug699674.js
@@ -0,0 +1,5 @@
+// Binary: cache/js-dbg-32-6dc7901db1d6-linux
+// Flags:
+//
+Array(24)
+for(v in(Array(2440598491))){}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug700127.js
@@ -0,0 +1,17 @@
+// Binary: cache/js-dbg-64-921e1db5cf11-linux
+// Flags: -m -n -a
+//
+
+function addThis() {}
+function Integer( value ) {
+  try {
+    checkValue( value )
+  } catch (e) {  }
+}
+function checkValue( value ) {
+  if ( addThis() != value || value )
+        throw value='foo';
+  return value;
+}
+Integer( 3 );
+Integer( NaN );
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug701248.js
@@ -0,0 +1,8 @@
+// Binary: cache/js-dbg-64-c60535115ea1-linux
+// Flags:
+//
+
+function F(x, y) {
+  var { j, y, p, a } = testSyntax("#1=<a>b</a>", true) =  this;
+}
+var src = F.toSource(-1)+"\n";
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug702003.js
@@ -0,0 +1,25 @@
+// Binary: cache/js-dbg-64-50c1bcb49c76-linux
+// Flags: -m -n -a
+//
+
+var lfcode = new Array();
+lfcode.push("try { \
+  gczeal(2);\
+  exitFunc ('test');\
+  } catch(exc1) {}\
+");
+lfcode.push("var summary = 'Foo'; \
+  var actual = 'No Crash';\
+  var expect = 'No Crash';\
+  test();\
+  function test() {\
+    try {\
+      eval('(function(){ <x/>.(yield 4) })().next();');\
+    }\ catch(ex) { 'Bar'; }\
+  }\
+");
+while (true) {
+        var code = lfcode.shift();
+        if (code == undefined) { break; }
+        evaluate(code);
+}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug702915.js
@@ -0,0 +1,85 @@
+// Binary: cache/js-dbg-64-d51bd1645a2f-linux
+// Flags: -m -n -a
+//
+gczeal(4);
+var callStack = new Array();
+var gTestcases = new Array();
+var gTc = gTestcases.length;
+function TestCase(n, d, e, a) {
+  this.name = n;
+  this.description = d;
+  this.expect = e;
+  this.actual = a;
+  this.passed = getTestCaseResult(e, a);
+  this.reason = '';
+  this.bugnumber = '';
+  this.type = (typeof window == 'undefined' ? 'shell' : 'browser');
+  gTestcases[gTc++] = this;
+}
+function enterFunc (funcName) {
+  try { throw foo; } catch(ex) {}
+}
+function getTestCaseResult(expected, actual) {}
+function writeHeaderToLog( string ) {}
+var lfcode = new Array();
+lfcode.push("\
+	var code = ''; \
+	code+=createCode((gczeal(2))); \
+	function createCode(i) { \
+	  jstop+= +  delete   + i + \" string.';\"; \
+	} \
+");
+lfcode.push("\
+var SECTION = '9.9-1'; \
+new TestCase( SECTION, '(Object(true)).__proto__',  Boolean.prototype,      (Object(true)).__proto__ ); \
+new TestCase( SECTION, '(Object(1)).__proto__',     Number.prototype,      (Object(1)).__proto__ ); \
+new TestCase( SECTION, '(Object(-1)).__proto__',    Number.prototype,      (Object(-1)).__proto__ ); \
+new TestCase( SECTION, '(Object(Number.MAX_VALUE)).__proto__',  Number.prototype,               (Object(Number.MAX_VALUE)).__proto__ ); \
+new TestCase( SECTION, '(Object(Number.MIN_VALUE)).__proto__',  Number.prototype, (Object(Number.MIN_VALUE)).__proto__ ); \
+new TestCase( SECTION, '(Object(Number.POSITIVE_INFINITY)).__proto__',  Number.prototype,               (Object(Number.POSITIVE_INFINITY)).__proto__ ); \
+new TestCase( SECTION, '(Object(Number.NEGATIVE_INFINITY)).__proto__',  Number.prototype,   (Object(Number.NEGATIVE_INFINITY)).__proto__ ); \
+new TestCase( SECTION, '(Object(Number.NaN)).__proto__',    Number.prototype,          (Object(Number.NaN)).__proto__ ); \
+new TestCase(  ) ; \
+new TestCase( SECTION, '(Object(\"\")).__proto__',   String.prototype,   (Object('')).__proto__ ); \
+new TestCase( SECTION, \"(Object('foo')).__proto__\", String.prototype,   (Object('foo')).__proto__ ); \
+new TestCase( SECTION,  \"Object( '' ).__proto__\",      String.prototype,   (Object(\"\")).__proto__ ); \
+new TestCase( SECTION, '(Object( new MyObject(true) )).toString()',  '[object Object]',       eval('(Object( new MyObject(true) )).toString()') ); \
+");
+lfcode.push("jsTestDriverEnd();");
+lfcode.push("");
+lfcode.push("\
+	enterFunc ('test'); \
+	Array.prototype[1] = 'bar'; \
+	var a = [];  \
+	exitFunc ('test'); \
+");
+lfcode.push("");
+lfcode.push("\
+  var VERSION = 'ECMA_1'; \
+var TITLE   = 'Value Properties of the Math Object'; \
+writeHeaderToLog( SECTION + ' '+ TITLE); \
+new TestCase( '15.8.1.1', 'Math.E',             \
+              this  . TITLE     ); \
+              'typeof Math.E',      \
+new TestCase( '15.8.1.2', \
+              'Math.LN10',          \
+              'typeof Math.LN10',   \
+              typeof Math.LN10 ); \
+new TestCase( '15.8.1.3', \
+              'Math.LN2',          \
+              Math.LN2 ); \
+new TestCase( '15.8.1.3', \
+              Math.LOG2E ); \
+new TestCase( '15.8.1.4', \
+              Math.SQRT1_2); \
+new TestCase( '15.8.1.7', \
+              typeof Math.SQRT2 ); \
+new TestCase( SECTION,  \
+              eval('var MATHPROPS=\"\";for( p in Math ){ MATHPROPS +=p; };MATHPROPS') ); \
+");
+while (true) {
+	var file = lfcode.shift(); if (file == undefined) { break; }
+		try {
+				eval(file);
+		} catch(exc1) { print(exc1); };
+}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug710192.js
@@ -0,0 +1,10 @@
+// |jit-test| error:Error
+
+// Binary: cache/js-dbg-64-63bff373cb94-linux
+// Flags: -m -n -a
+//
+
+function f(a, b, c) {
+    arguments[('4294967295')] = 2;
+}
+assertEq(f(1), "1234");
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug712169.js
@@ -0,0 +1,14 @@
+// |jit-test| slow;
+
+// Binary: cache/js-dbg-32-f98c57415d8d-linux
+// Flags:
+//
+
+try {
+  var str = '0123456789';
+  for (var icount = 0; icount < 25; ++icount, let(icount2, printStatus) (function() gczeal(2))[1]++)
+        str = str + str;
+} catch(ex) {
+  new XML( str, false, (new RegExp('[0-9]{3}')).test('23 2 34 78 9 09'));
+}
+this.toSource();
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug713209.js
@@ -0,0 +1,21 @@
+// Binary: cache/js-dbg-32-c5b90ea7e475-linux
+// Flags: -m -n -a
+//
+
+var save__proto__ = __proto__;
+__proto__ = save__proto__;
+function bar(x, y) {
+  return x + y;
+}
+function foo(x, y) {
+  var a = 0;
+  for (var i = 0; i < 1000; i++) {
+    a += (this.toString);
+    a += bar(x, y);
+    a = bar(x, (a));
+    a += bar(x, y);
+  }
+  return a;
+}
+var q = foo(0, 1);
+print(q.toSource());
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug713944.js
@@ -0,0 +1,16 @@
+// Binary: cache/js-dbg-64-7e28cce342a6-linux
+// Flags:
+//
+function f() {
+    constructor = {}
+}
+Object.defineProperty(function() {
+    return {}.__proto__
+}(), "constructor", {
+    set: function() {}
+})
+f()
+Object.defineProperty({}.__proto__, "constructor", {
+    value: 3
+})
+f()
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug715682.js
@@ -0,0 +1,4 @@
+// Binary: cache/js-dbg-64-10894668e37f-linux
+// Flags:
+//
+({set"0"(l){}})
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug716512.js
@@ -0,0 +1,6 @@
+// |jit-test| error:Error
+
+// Binary: cache/js-dbg-64-9a230265bad5-linux
+// Flags:
+//
+gcparam("maxBytes", 22000);
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug717249.js
@@ -0,0 +1,7 @@
+// |jit-test| error:TypeError
+
+// Binary: cache/js-dbg-64-4de07a341aab-linux
+// Flags: -m -n -a
+//
+
+[].__proto__();
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug717251.js
@@ -0,0 +1,12 @@
+// Binary: cache/js-dbg-64-4de07a341aab-linux
+// Flags: -m -n -a
+//
+this.__proto__ = [];
+var msPerDay =   86400000;
+for ( var time = 0, year = 1969; year >= 0; year-- ) {
+  time -= TimeInYear(year);
+}
+function DaysInYear( y ) {}
+function TimeInYear( y ) {
+  return ( DaysInYear(y) * msPerDay );
+}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug718347.js
@@ -0,0 +1,8 @@
+// |jit-test| error:TypeError
+
+// Binary: cache/js-dbg-64-49afabda6701-linux
+// Flags: -m -n -a
+//
+
+this.__proto__ = newGlobal('new-compartment');
+eval("(toLocaleString)();");
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug720380.js
@@ -0,0 +1,8 @@
+// Binary: cache/js-dbg-64-42368fe44c8c-linux
+// Flags: -m -n
+//
+
+function MyObject( value ) {
+  this.toBoolean = (this[ this.Function = this ]++ );
+}
+new MyObject(true);
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug720396.js
@@ -0,0 +1,11 @@
+// |jit-test| error:TypeError
+
+// Binary: cache/js-dbg-64-1962ca549264-linux
+// Flags:
+//
+
+var g = newGlobal('new-compartment');
+var dbg1 = new Debugger;
+var gw1 = dbg1.addDebuggee(g);
+var dbg2 = new Debugger;
+var gw2 = dbg2.addDebuggee((gw1.__proto__));
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug721497.js
@@ -0,0 +1,13 @@
+// |jit-test| error:ReferenceError
+
+// Binary: cache/js-dbg-64-edf8075b0333-linux
+// Flags:
+//
+
+var g = newGlobal('new-compartment');
+var dbg = new Debugger(g);
+dbg.onDebuggerStatement = function (frame) {
+    assertEq(dumpStack(), true);
+};
+g.eval("function f(a, [b, c], {x: [y], z: w}, {q}) { debugger; }");
+g.eval("f(1, [2, 3], {x: [4], z: 5}, {q: 6});");
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug722021.js
@@ -0,0 +1,8 @@
+// Binary: cache/js-dbg-64-8a59519e137e-linux
+// Flags: -m -n -a
+//
+
+var a = [];
+for (let j = 0; j < 5; ++j) {
+    a.push(-2 in (a));
+}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug722023.js
@@ -0,0 +1,12 @@
+// Binary: cache/js-dbg-64-8a59519e137e-linux
+// Flags: -m -n -a
+//
+
+var obj = new Object();
+var index = [ (null ), 1073741824, 1073741825 ];
+for (var j in index) {
+  testProperty(index[j]);
+}
+function testProperty(i) {
+  actual = obj[String(i)];
+}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug722260.js
@@ -0,0 +1,8 @@
+// Binary: cache/js-dbg-64-8a59519e137e-linux
+// Flags:
+//
+
+var m = new Map;
+var key = -((/\u0024/ ).x);
+var v = {};
+m.set(key,v);
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug726636.js
@@ -0,0 +1,10 @@
+// |jit-test| error:Error
+
+// Binary: cache/js-dbg-64-4a9a6ffd1f21-linux
+// Flags:
+//
+function jsTestDriverEnd() {}
+this.__defineSetter__("x", function () {});
+x %= 5;
+jsTestDriverEnd();
+mjitChunkLimit();
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug726799.js
@@ -0,0 +1,21 @@
+// Binary: cache/js-dbg-32-ebafee0cea36-linux
+// Flags: -m -n
+//
+function tryItOut(code) {
+    f = eval("(function(){" + code + "})")
+    for (e in f()) {}
+}
+mjitChunkLimit(25)
+tryItOut("\
+    for each(x in[0,0,0,0,0,0,0]) {\
+        function f(b) {\
+            Object.defineProperty(b,\"\",({t:f}))\
+        }\
+        for each(d in[(1),String,String,String,String,(0),String,(1),String]) {\
+            try{\
+                f(d);\
+                yield\
+            }catch(e){}\
+        }\
+    }\
+")
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug727330.js
@@ -0,0 +1,9 @@
+// |jit-test| error:TypeError
+
+// Binary: cache/js-dbg-64-ff51ddfdf5d1-linux
+// Flags:
+//
+var a = [];
+for (var i = 0; i < 200; ++i) a.push({});
+var p = Proxy.create({fix: function() { return a; }});
+Object.preventExtensions(p);
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug728509.js
@@ -0,0 +1,14 @@
+// Binary: cache/js-dbg-32-78fde7e54d92-linux
+// Flags: -m -n -a
+//
+function g(code) {
+    try {
+        f = eval("(function(){" + code + "})")
+    } catch (r) {}
+    f()
+    try {
+        evalcx("(function(){return" + code + "})()")
+    } catch (e) {}
+}
+g("mjitChunkLimit(8)")
+g(" function(x,[]){NaN.x::c}()")
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug730806.js
@@ -0,0 +1,60 @@
+// Binary: cache/js-opt-32-2dc40eb83023-linux
+// Flags: -m -n -a
+//
+function toPrinted(value)
+  value = value.replace(/\\n/g, 'NL')
+               .replace(/\\r/g, 'CR')
+               .replace(/[^\x20-\x7E]+/g, escapeString);
+function escapeString (str)
+{
+  var a, b, c, d;
+  var len = str.length;
+  var result = "";
+  var digits = ["0", "1", "2", "3", "4", "5", "6", "7",
+                "8", "9", "A", "B", "C", "D", "E", "F"];
+  for (var i=0; i<len; i++)
+  {
+    var ch = str.charCodeAt(i);
+    a = digits[ch & 0xf];
+    if (ch)
+    {
+      c = digits[ch & 0xf];
+      ch >>= 4;
+      d = digits[ch & 0xf];
+      result += "\\u" + d + c + b + a;
+    }
+  }
+}
+function reportCompare (expected, actual, description) {
+function test() {
+    try
+    {
+    }
+    catch(e)
+    {
+    }
+  }
+}
+try {
+gczeal(2,4);
+function setprop() {
+}
+} catch(exc1) {}
+var trimMethods = ['trim', 'trimLeft', 'trimRight'];
+var whitespace = [
+  {s : '\u2028', t : 'LINE SEPARATOR'},
+  ];
+for (var j = 0; j < trimMethods.length; ++j)
+{
+  var method = trimMethods[j];
+  for (var i = 0; i < whitespace.length; ++i)
+  {
+    var v = whitespace[i].s;
+    var t = whitespace[i].t;
+    v = v + v + v;
+    str      = v;
+    expected = '';
+    actual   = str[method]();
+    reportCompare(expected, actual, t + ':' + '"' + toPrinted(str) + '".' + method + '()');
+  }
+}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug732719.js
@@ -0,0 +1,24 @@
+// |jit-test| error:InternalError
+
+// Binary: cache/js-dbg-32-343ec916dfd5-linux
+// Flags: -m -n
+//
+
+function TestCase(n, d, e, a)
+TestCase.prototype.dump = function () {};
+function enterFunc (funcName)
+function writeHeaderToLog( string ) {}
+gczeal(2);
+function f() {}
+try {
+var BUGNUMBER = 350621;
+test();
+} catch(exc1) {}
+function test() {
+  enterFunc ( summary =  this, test(BUGNUMBER));
+  function gen1() {  }
+  function test_it(RUNS) {  }
+}
+new TestCase (String([(1),'a22','a23','a24']),
+    String('a11\na22\na23\na24'.match(new RegExp('a..$','g'))));
+test();
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug735313.js
@@ -0,0 +1,15 @@
+// |jit-test| allow-oom;
+
+// Binary: cache/js-dbg-64-dfcb11712ec2-linux
+// Flags:
+//
+
+a=[];
+for (var i=0; i<10; i++) {
+  a[a.length] = a;
+}
+try {
+  for (var i=0; i<26; i++) {
+    a[a.length] = a.toString();
+  }
+} catch(exc1) {}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug735936.js
@@ -0,0 +1,7 @@
+// Binary: cache/js-dbg-32-7e713db43d8d-linux
+// Flags:
+//
+f = (function() {
+    "use strict";
+    [arguments] = eval()
+})
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug736609.js
@@ -0,0 +1,10 @@
+// Binary: cache/js-dbg-32-c7ef262e3024-linux
+// Flags:
+//
+try {
+    a = ArrayBuffer(76);
+    b = Uint32Array(a);
+    uneval()
+    c = Uint8Array(a);
+    c.set(b)
+} catch (e) {}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug740509.js
@@ -0,0 +1,84 @@
+// |jit-test| slow;
+
+// Binary: cache/js-dbg-64-fb23c30e3d60-linux
+// Flags: -m -n -a
+//
+function TestCase(n, d, e, a)
+TestCase.prototype.dump = function () {
+}
+var lfcode = new Array();
+lfcode.push("2");
+lfcode.push("var lfcode = new Array();\
+lfcode.push(\"gczeal(4,1);\");\
+while (true) {\
+        var file = lfcode.shift(); if (file == ((0Xa  )  . shift      )) { break; }\
+        eval(file);\
+}\
+");
+lfcode.push("function testJSON(str, expectSyntaxError)\
+");
+lfcode.push("1");
+lfcode.push("Number.prototype.toString = function() { return 3; };\
+assertEq(JSON.stringify({ 3: 3, 4: 4 }, [(this  . abstract       )]),\
+         '{\"3\":3}');\
+");
+lfcode.push("var HoursPerDay =  24;\
+var MinutesPerHour = 60;\
+var SecondsPerMinute = 60;\
+var msPerSecond =  1000;\
+var msPerMinute =  60000;\
+var TZ_ADJUST  = TZ_DIFF * msPerHour;\
+var PST_DIFF = TZ_DIFF - TZ_PST;\
+var PST_ADJUST = TZ_PST * msPerHour;\
+var TIME_0000  = (function ()\
+  {\
+var TIME_1970  = 0;\
+var TIME_1900  = -2208988800000;\
+var UTC_FEB_29_2000 = TIME_2000 + 31*msPerDay + 28*msPerDay;\
+var UTC_JAN_1_2005 = TIME_2000 + TimeInYear(2000) + TimeInYear(2001) +\
+  TimeInYear(2002) + TimeInYear(2003) + TimeInYear(2004);\
+var TIME_NOW = now.valueOf();\
+function getTimeZoneDiff()\
+{\
+  return -((new Date(2000, 1, 1)).getTimezoneOffset())/60;\
+function adjustResultArray(ResultArray, msMode)\
+    ResultArray[UTC_HOURS] = HourFromTime(t);\
+    ResultArray[UTC_DATE] = DateFromTime(t);\
+    ResultArray[UTC_MONTH] = MonthFromTime(t);\
+    ResultArray[UTC_YEAR] = YearFromTime(t);\
+function DaysInYear( y ) {\
+    return \"ERROR: DaysInYear(\" + y + \") case not covered\";\
+function DayNumber( t ) {\
+function TimeWithinDay( t ) {\
+function YearNumber( t ) {\
+function TimeFromYear( y ) {\
+function InLeapYear( t ) {\
+    return \"ERROR:  InLeapYear(\"+ t + \") case not covered\";\
+  for ( var timeToTimeZero = t; ;  ) {\
+    return \"ERROR: MonthFromTime(\"+t+\") not known\";\
+function DayWithinYear( t ) {\
+  return( Day(t) - DayFromYear(YearFromTime(t)));\
+");
+lfcode.push("this.__proto__ = []; \
+let ( _ = this ) Boolean   (\"({ set x([, b, c]) { } })\");\
+");
+while (true) {
+	var file = lfcode.shift(); if (file == undefined) { break; }
+	if (file == "evaluate") {
+	} else {
+                loadFile(file);
+	}
+}
+function loadFile(lfVarx) {
+	try {
+		if (lfVarx.substr(-3) == ".js") {
+		} else if (!isNaN(lfVarx)) {
+			lfRunTypeId = parseInt(lfVarx);
+		} else {
+			switch (lfRunTypeId) {
+				case 1: eval(lfVarx); break;
+				case 2: new Function(lfVarx)(); break;
+			}
+		}
+	} catch (lfVare) {	}
+}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug743000.js
@@ -0,0 +1,4 @@
+// Binary: cache/js-dbg-64-1da11a2bc5db-linux
+// Flags:
+//
+Int32Array(wrap(new Uint8ClampedArray))
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug743876.js
@@ -0,0 +1,35 @@
+// Binary: cache/js-dbg-64-434f50e70815-linux
+// Flags: -m -n -a
+//
+
+var lfcode = new Array();
+lfcode.push("3");
+lfcode.push("\
+evaluate(\"mjitChunkLimit(5)\");\
+function slice(a, b) {\
+    return slice(index, ++(ArrayBuffer));\
+}\
+");
+lfcode.push("0");
+lfcode.push("var arr = [0, 1, 2, 3, 4];\
+function replacer() {\
+  assertEq(arguments.length, 2);\
+  var key = arguments[0], value = arguments[1];\
+  return value;\
+}\
+assertEq(JSON.stringify(arr, replacer), '[0,1,2,3,4]');\
+");
+while (true) {
+        var file = lfcode.shift(); if (file == undefined) { break; }
+                loadFile(file);
+}
+function loadFile(lfVarx) {
+                if (!isNaN(lfVarx)) {
+                        lfRunTypeId = parseInt(lfVarx);
+                } else {
+                        switch (lfRunTypeId) {
+                                case 0: evaluate(lfVarx); break;
+                                case 3: function newFunc(x) { new Function(x)(); }; newFunc(lfVarx); break;
+                }
+        }
+}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug745158.js
@@ -0,0 +1,8 @@
+// |jit-test| error:TypeError
+
+// Binary: cache/js-dbg-32-3fa30b0edd15-linux
+// Flags:
+//
+
+let ([] = 1) 3;
+let (i) new [i][print[i]];
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug745452.js
@@ -0,0 +1,7 @@
+// Binary: cache/js-dbg-64-55e7efcc1946-linux
+// Flags:
+//
+
+var o = Object.preventExtensions(new ArrayBuffer);
+try { (function () { o.__proto__ = ({ __proto__: o, indexArray: ["abc"] }); })(); } catch(exc) {}
+uneval(this);
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug746103.js
@@ -0,0 +1,15 @@
+// |jit-test| slow; error:InternalError
+
+// Binary: cache/js-dbg-64-c61e7c3a232a-linux
+// Flags: -m -n -a
+//
+
+gczeal(2);
+function testCallProtoMethod() {
+    function X() {
+        this.valueOf = new testCallProtoMethod( "return this.value" );
+    }
+    X.prototype.getName = function () { return "X"; }
+    var a = [new X, new X, new getName, new new this, new Y];
+}
+testCallProtoMethod();
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug748119.js
@@ -0,0 +1,96 @@
+// Binary: cache/js-dbg-32-17af008937e3-linux
+// Flags: -m -n -a
+//
+var lfcode = new Array();
+lfcode.push("\
+var gTestcases = new Array();\
+var gTc = gTestcases.length;\
+function TestCase(n, d, e, a) {\
+  this.passed = getTestCaseResult(e, a);\
+  this.bugnumber = typeof(BUGNUMER) != 'undefined' ? BUGNUMBER : '';\
+  gTestcases[gTc++] = this;\
+}\
+for (var i=0; i<len; i++) {}\
+function reportCompare (expected, actual, description) {\
+  var testcase = new TestCase(\"unknown-test-name\", description, expected, actual);\
+  if (testcase.passed)\
+  printStatus (\"Expected match to '\" + toPrinted(expectedRegExp) + \"' matched actual value '\" + toPrinted(actual) + \"'\");\
+}\
+function getTestCaseResult(expected, actual)\
+function stopTest() {}\
+");
+lfcode.push("\
+var UBound = 0;\
+var TEST_PASSED = 'SyntaxError';\
+var TEST_FAILED = 'Generated an error, but NOT a SyntaxError!';\
+var statusitems = [];\
+var actualvalues = [];\
+var expectedvalues = [];\
+testThis(' /a**/ ');\
+testThis(' /a***/ ');\
+testThis(' /a++/ ');\
+testThis(' /a+++/ ');\
+testThis(' /a???/ ');\
+testThis(' /a????/ ');\
+testThis(' /+a/ ');\
+testThis(' /++a/ ');\
+testThis(' /?a/ ');\
+testThis(' /??a/ ');\
+testThis(' /x{1}{1}/ ');\
+testThis(' /x{1,}{1}/ ');\
+testThis(' /x{1,2}{1}/ ');\
+testThis(' /x{1}{1,}/ ');\
+testThis(' /x{1,}{1,}/ ');\
+testThis(' /x{1,2}{1,}/ ');\
+testThis(' /x{1}{1,2}/ ');\
+testThis(' /x{1,}{1,2}/ ');\
+function testThis(sInvalidSyntax) {\
+  try {\
+    eval(sInvalidSyntax);\
+  } catch(e) {\
+    actual = TEST_PASSED;\
+  }\
+}\
+function checkThis(sAllowedSyntax) {}\
+reportCompare(expectedvalues[i], actualvalues[i], statusitems[i]);\
+exitFunc ('test');\
+");
+lfcode.push("gczeal(4);");
+lfcode.push("\
+var MSG_PATTERN = '\\nregexp = ';\
+var MSG_STRING = '\\nstring = ';\
+var MSG_EXPECT = '\\nExpect: ';\
+var MSG_ACTUAL = '\\nActual: ';\
+var TYPE_STRING = typeof 'abc';\
+function testRegExp(statuses, patterns, strings, actualmatches, expectedmatches)\
+        lExpect = expectedmatch.length;\
+        lActual = actualmatch.length;\
+        var expected = formatArray(expectedmatch);\
+          reportCompare(expected, actual, state + ERR_MATCH +  CHAR_NL  );\
+function getState(status, pattern, string) {\
+  var delim = CHAR_COMMA + CHAR_SPACE;\
+");
+lfcode.push("\
+var gTestcases = new Array;\
+function TestCase(n, d, e, a) {}\
+function toPrinted(value) value=value.replace(/\\\\n/g, 'NL').replace(/[^\\x20-\\x7E]+/g, escapeString);\
+");
+lfcode.push("\
+var summary = 'Regression test for bug 385393';\
+var current = isXMLName({});\
+var expect = 'No Crash';\
+  reportCompare(expect, actual, summary);\
+");
+while (true) {
+	var file = lfcode.shift(); if (file == undefined) { break; }
+                loadFile(file);
+}
+function loadFile(lfVarx) {
+	try {
+		if (lfVarx.substr(-3) == ".js") {
+			switch (lfRunTypeId) {			}
+		} else {
+			evaluate(lfVarx);
+		}
+	} catch (lfVare) {	}
+}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug755639.js
@@ -0,0 +1,34 @@
+// Binary: cache/js-dbg-64-bfc259be3fa2-linux
+// Flags: -m -n -a
+//
+
+if (typeof gcPreserveCode != "function") {
+    function gcPreserveCode() {}
+}
+
+if (typeof gcslice != "function") {
+    function gcslice() {}
+}
+
+function f(t)
+{
+    for (var i = 0; i < 1; ++i) {
+        if (typeof(t) != "string") {
+        }
+    }
+}
+function m(d)
+{
+    if (d == 0)
+        return "";
+    f(m(d - 1));
+}
+m(1);
+gcPreserveCode();
+try {
+  mjitChunkLimit(1);
+} catch(exc1) {}
+gcslice(0);
+m(1);
+gc();
+m(2);
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug755750.js
@@ -0,0 +1,10 @@
+// Binary: cache/js-dbg-32-00c7a320165b-linux
+// Flags: -m -n
+//
+
+test();
+function test() {
+  schedulegc(100);
+  var o = { __proto__: function(){} };
+  for (var j = 0; j < 30000; ++j) { try { o.call(3); } catch (e) {  }  }
+}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug759719.js
@@ -0,0 +1,81 @@
+// Binary: cache/js-dbg-64-e8a025a7101b-linux
+// Flags: -m -n
+//
+var SECTION = "";
+function AddTestCase( description, expect, actual ) {}
+function TestCase(n, d, e, a) {}
+TestCase.prototype.dump = function () {};
+function printStatus (msg) {
+  msg = msg.toString();
+  var lines = msg.split ("\n");
+}
+function printBugNumber (num) {}
+function optionsInit() {}
+function optionsClear() {}
+  var optionsframe = {};
+  try {
+    optionsClear();
+    for (var optionName in options.initvalues)    {    }
+  } catch(ex)  {
+  optionsInit();
+  if (typeof window == 'undefined' && typeof print == 'function')
+    try {
+      gTestcases[gTc].passed = writeTestCaseResult(
+        gTestcases[gTc].description +" = "+ gTestcases[gTc].actual );
+    } catch(e) {
+      if (typeof document != "object" || !document.location.href.match(/jsreftest.html/)) {}
+    }
+  }
+  code = "(function(x){ if(x) return x; })";
+gczeal(2);
+for (var loopa2 = 0; loopa2 < 13; loopa2++) {
+  [, , , , , , ][(loopa2.loopa2)] &=  (/\u0042[\u0061]\\u0026/ );
+}
+this.summary = false;
+printStatus (summary);
+try {} catch(e) {}
+var TIME_0000  = (function () {  })();
+function getTimeZoneDiff() {}
+new TestCase( SECTION, Array.prototype.reverse.length );
+new TestCase( SECTION, eval("delete Array.prototype.reverse.length; Array.prototype.reverse.length") );
+var S = "var A = new Array( true,false )";
+eval(S);
+var R = Reverse(A);
+new TestCase( SECTION, eval( S + "; A.reverse(); A.length") );
+CheckItems(  R, A );
+CheckItems( R, A );
+eval(S);
+new TestCase( SECTION, eval( S + "; A.reverse(); A.length") );
+CheckItems( R, A );
+var S = "var A = new Array(); A[8] = 'hi', A[3] = 'yo'";
+eval(S);
+var R = Reverse(A);
+new TestCase( SECTION, eval( S + "; A.reverse(); A.length") );
+CheckItems( R, A );
+var OBJECT_OBJECT = new Object();
+var FUNCTION_OBJECT = new Function( 'return this' );
+var BOOLEAN_OBJECT = new Boolean;
+var DATE_OBJECT = new Date(0);
+var STRING_OBJECT = new String('howdy');
+var NUMBER_OBJECT = new Number(Math.PI);
+var ARRAY_OBJECT= new Array(1000);
+var args = "null, void 0, Math.pow(2,32), 1.234e-32, OBJECT_OBJECT, BOOLEAN_OBJECT, FUNCTION_OBJECT, DATE_OBJECT, STRING_OBJECT,"+
+  "ARRAY_OBJECT, NUMBER_OBJECT, Math, true, false, 123, '90210'";
+var S = "var A = new Array("+args+")";
+eval(S);
+var R = Reverse(A);
+new TestCase( SECTION, eval( S + "; A.reverse(); A.length") );
+CheckItems( R, A );
+var limit = 1000;
+for (var i = 0; i < limit; i++ ) {
+  args += i +"";
+}
+function CheckItems( R, A ) {
+  for ( var i = 0; i < R.length; i++ ) {
+    new TestCase( ( code     ) [i] );
+  }
+}
+function Object_1( value ) {}
+function Reverse( array ) {
+  return array;
+}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug761864.js
@@ -0,0 +1,58 @@
+// Binary: cache/js-dbg-32-cf4face65451-linux
+// Flags: -m -n
+//
+function printStatus (msg) {
+  var lines = msg.split ("");
+}
+function printBugNumber (num) {
+  var digits = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F"];
+}
+var lfcode = new Array();
+lfcode.push("gczeal(4);");
+lfcode.push("jsTestDriverEnd();");
+lfcode.push("");
+lfcode.push("var BUGNUMBER     = \"(none)\";\
+var summary = \"gen.close(); gen.throw(ex) throws ex forever\";\
+var actual, expect;\
+printBugNumber(BUGNUMBER);\
+printStatus(summary);\
+function gen() {\
+  var x = 5, y = 7;\
+  yield z;\
+}\
+var failed = false;\
+var it = gen();\
+try {\
+  it.close();\
+  var doThrow = true;\
+  var thrown = \"foobar\";\
+  try { } catch (e)  {  }\
+  try   {  }   catch (e)   {  }\
+    throw \"it.throw(\\\"\" + thrown + \"\\\") failed\";\
+  var stopPassed = false;\
+  try   {  }  catch (e)   {\
+      if (\"1234\")\
+      stopPassed = true;\
+  }\
+} catch (e) {}\
+");
+var lfRunTypeId = -1;
+while (true) {
+	var file = lfcode.shift(); if (file == undefined) { break; }
+	if (file == "evaluate") {
+	} else {
+                loadFile(file);
+	}
+}
+function loadFile(lfVarx) {
+	try {
+		if (lfVarx.substr(-3) == ".js") {
+		} else {
+			switch (lfRunTypeId) {
+				default: evaluate(lfVarx);
+			}
+		}
+	} catch (lfVare) {
+		print(lfVare);
+	}
+}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug762324.js
@@ -0,0 +1,8 @@
+// Binary: cache/js-dbg-64-f918d74f736c-linux
+// Flags:
+//
+(function(){
+  try {
+    Function("function d(e= Pron((function hy() {return {d: function() { vum =pln(+ 'Lte');  return {get: function() { thr; }, set: function() { thr; }}; }, g: function(){ (yum + 'LE');}, has: function() { (yum + '')},Own: f}; })(x), ((function sing(xg) { ; xg :vc; })([, nen(true),l, n, null, l, nan(true), nen(true),ull,ull,lean(true), ean(), nan(true), nun(true),an(true), nen(true),lean(true), n(true),ull,ull,an(true), nuean(), nan(true), null, ll, ll, ean(), nan(true), nen(true),lean(true), ean(), nl, n(true), ean(), n, nu, nen(true),lean(true), ll, ean(), nan(true), nuean(), nll, ean(true), nan(true), nun(true),(true), ean(true), nan(true), nen(true),n(true),an(true), nen(true),l, null,lean(true), n(true),an(true), nen(true),l, null,lean(true), ll, ean(true), nan(true), nuean(), null, n, ean(), null,lean(true), ean(), null], 0)), ((\"y\")))['ww']){/*jjj*/}gc();")
+  } catch (e) {}
+})()
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug765055.js
@@ -0,0 +1,7 @@
+// Binary: cache/js-dbg-32-85e31a4bdd41-linux
+// Flags:
+//
+
+function test( d = 1, a = this, ... f)  {
+    function f() {}
+}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug765280.js
@@ -0,0 +1,8 @@
+// |jit-test| error:Error
+
+// Binary: cache/js-dbg-64-85e31a4bdd41-linux
+// Flags:
+//
+
+function f(x = let([] = c) 1, ... __call__)  {}
+assertEq(this > f, true);
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug766065.js
@@ -0,0 +1,13 @@
+// |jit-test| error:ReferenceError
+
+// Binary: cache/js-dbg-32-19bfe36cace8-linux
+// Flags: -m -n -a
+//
+
+function testApplyCallHelper(f) {
+    for (var i = 0; i < 10; ++i) dumpStack.apply(this,[0,1]);
+}
+function testApplyCall() {
+    var r = testApplyCallHelper(function (a0,a1,a2,a3,a4,a5,a6,a7) { x = [a0,a1,a2,a3,a4,a5,a6,a7]; });
+}
+testApplyCall();
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug769192.js
@@ -0,0 +1,6 @@
+// |jit-test| error:TypeError
+
+// Binary: cache/js-dbg-64-bf8f2961d0cc-linux
+// Flags:
+//
+Object.watch.call(new Uint8ClampedArray, "length", function() {});
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug770713.js
@@ -0,0 +1,21 @@
+// Binary: cache/js-dbg-32-b39f4007be5a-linux
+// Flags: -m -n -a
+//
+
+gczeal(4);
+var a = ['a','test string',456,9.34,new String("string object"),[],['h','i','j','k']];
+var b = [1,2,3,4,5,6,7,8,9,0];
+exhaustiveSliceTest("exhaustive slice test 1", a);
+function mySlice(a, from, to) {
+  var returnArray = [];
+  try {  }  catch ( [ x   ]   ) {  }   finally {  }
+  return returnArray;
+}
+function exhaustiveSliceTest(testname, a) {
+  var x = 0;
+    for (y = (2 + a.length); y >= -(2 + a.length); y--) {
+      var c = mySlice(a,x,y);
+      if (String(b) != String(c))
+          " expected result: " + String(c) + "\n";
+    }
+}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug770954.js
@@ -0,0 +1,17 @@
+// Binary: cache/js-dbg-32-b6aa44d8f11f-linux
+// Flags:
+//
+
+gczeal(4);
+var s = new Set;
+s.add(-0);
+s.add(0);
+assertEq(s.delete(-0), true);
+assertEq(s.has(0), (true  ));
+assertEq(s.has(-0), false);
+var m = new Map;
+m.set(-0, 'x');
+assertEq(m.has(0), false);
+assertEq(m.get(0), undefined);
+assertEq(m.has(-0), true);
+assertEq(m.delete(-0), true);
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug771027.js
@@ -0,0 +1,8 @@
+// |jit-test| error:TypeError
+
+// Binary: cache/js-dbg-32-b6aa44d8f11f-linux
+// Flags:
+//
+
+Array.prototype.iterator = (function() { { while(0) function Uint8ClampedArray() {  } } });
+assertEq(Set(["testing", "testing", 123]).size(), 2);
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug771946.js
@@ -0,0 +1,4 @@
+// Binary: cache/js-dbg-64-221f1a184f67-linux
+// Flags:
+//
+Date.prototype.setFullYear(Math.cos(1))
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug776314.js
@@ -0,0 +1,6 @@
+// Binary: cache/js-dbg-64-defbe00ca091-linux
+// Flags:
+//
+if (typeof disassemble == 'function') {
+  disassemble(eval(("(function(){(a for each (e in b));})")));
+}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug776484.js
@@ -0,0 +1,4 @@
+// Binary: cache/js-dbg-64-462106f027af-linux
+// Flags:
+//
+decompileBody(function () { });
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug778557.js
@@ -0,0 +1,7 @@
+// Binary: cache/js-dbg-64-90828ac18dcf-linux
+// Flags:
+//
+x = Set;
+eval("function y()(Iterator)", this);
+x.__iterator__ = y;
+new Iterator(x)
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug779850.js
@@ -0,0 +1,9 @@
+// |jit-test| error:TypeError
+
+// Binary: cache/js-dbg-64-074fb996dfd7-linux
+// Flags:
+//
+
+(function() {
+    for each(let Math in []) {}
+}).floor(2147483649)
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug780405.js
@@ -0,0 +1,6 @@
+// Binary: cache/js-dbg-32-0f66a7ecf8de-linux
+// Flags:
+//
+function n(b = ((function() {}), function() {
+    (a for (r in [function() {}]))
+})) {}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug781855.js
@@ -0,0 +1,11 @@
+// Binary: cache/js-dbg-32-b5ae446888f5-linux
+// Flags: -m -n -a
+//
+
+var Constr = function( ... property)  {};
+Constr.prototype = [];
+var c = new Constr();
+c.push(5);
+gc();
+function enterFunc() {}
+evaluate('enterFunc (c.length);');
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug783421.js
@@ -0,0 +1,30 @@
+// Binary: cache/js-dbg-64-50e4ff05741e-linux
+// Flags: -m -n -a
+//
+gc()
+var p = n
+function m() {
+  return function(f, code, t) {
+	try {
+	  evalcx(code, newGlobal())
+	} catch (e) {}
+  }
+}
+function n() {
+	f()
+}
+function h(code) {
+	f = Function(code)
+	p(f, code, true)
+}
+h("\
+  p=m();\
+  gcPreserveCode();\
+  gcslice(7);\
+")
+h("\"\"")
+h("")
+h("gc()")
+h("")
+h("")
+h("gczeal(4,2)")
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug783923.js
@@ -0,0 +1,4 @@
+// Binary: cache/js-dbg-64-35b8d6ef5d46-linux
+// Flags:
+//
+print(ParallelArray());
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug784011.js
@@ -0,0 +1,8 @@
+// |jit-test| error:TypeError
+
+// Binary: cache/js-dbg-64-c676b554c7bb-linux
+// Flags:
+//
+
+var p2 = new ParallelArray([2,2], function(i,j) { return i+j; });
+p2.get({ 0: 1, 1: 0, testGet: 2 })
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug784015.js
@@ -0,0 +1,8 @@
+// |jit-test| error:Error
+
+// Binary: cache/js-dbg-64-c676b554c7bb-linux
+// Flags:
+//
+
+var p = new ParallelArray([1,25e8 ,3,4]);
+var pp = p.partition(.34 );
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug785089.js
@@ -0,0 +1,4 @@
+// Binary: cache/js-dbg-64-198ca6edd0ae-linux
+// Flags:
+//
+odeURIL:(function(){})
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug785305.js
@@ -0,0 +1,8 @@
+// Binary: cache/js-dbg-64-29ca472bf2d2-linux
+// Flags:
+//
+Reflect.parse("\
+  function l(x = (function() {})) {\
+	function x() {}\
+  }\
+")
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug785576.js
@@ -0,0 +1,11 @@
+// Binary: cache/js-dbg-64-29ca472bf2d2-linux
+// Flags: -m -n -a
+//
+sandbox = newGlobal('')
+evalcx("x=[]", sandbox)
+evalcx("\
+  x[0] = this;\
+  Object.defineProperty(x, 0, {})\
+", sandbox)
+gc()
+evalcx("x.shift()", sandbox)
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug785776.js
@@ -0,0 +1,4 @@
+// Binary: cache/js-dbg-64-e08a67884b9b-linux
+// Flags: -m -n -a
+//
+function f([x]){}f(DataView.prototype)
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug789107.js
@@ -0,0 +1,6 @@
+// |jit-test| error:TypeError
+
+// Binary: cache/js-dbg-64-5d63594c05a9-linux
+// Flags:
+//
+ParallelArray().watch("shape", function() {})
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug790921.js
@@ -0,0 +1,14 @@
+// |jit-test| slow;
+// Binary: cache/js-dbg-64-fdfaef738a00-linux
+// Flags: --ion-eager
+//
+
+evaluate("\
+gcparam(\"maxBytes\", gcparam(\"gcBytes\") + 4 );\n\
+test();\n\
+function test() {\n\
+  function flatten(arr)\n\
+  actual = flatten([1, [2], 3]);\
+}\n\
+");
+try {} catch (lfVare) {}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug791445.js
@@ -0,0 +1,4 @@
+// Binary: cache/js-dbg-64-9fff2012b66c-linux
+// Flags:
+//
+ParallelArray(0, Proxy.createFunction(function(){}, function(){}))
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug795937.js
@@ -0,0 +1,6 @@
+// Binary: cache/js-dbg-64-895f66c4eada-linux
+// Flags:
+//
+
+var g = newGlobal('new-compartment');
+new Proxy(g, {});
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug797493.js
@@ -0,0 +1,15 @@
+// |jit-test| error:ReferenceError
+
+// Binary: cache/js-dbg-64-13fd49ef7786-linux
+// Flags:
+//
+
+var g = newGlobal('new-compartment');
+var dbg = new Debugger(g);
+dbg.onDebuggerStatement = function handleDebugger(frame) {
+    frame.onPop = function handlePop(c) {
+      poppedFrames.indexOf(this)
+    }
+};
+g.eval("function g() { for (var i = 0; i < 10; i++) { debugger; yield i; } }");
+assertEq(g.eval("var t = 0; for (j in g()) t += j; t;"), 45);
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug800407.js
@@ -0,0 +1,10 @@
+// Binary: cache/js-dbg-32-5cca0408a73f-linux
+// Flags:
+//
+
+options("strict_mode");
+function test(str, arg, result) {
+    var fun = new Function('x', str);
+    var got = fun.toSource();
+}
+test('return let (y) x;');
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug800878.js
@@ -0,0 +1,11 @@
+// |jit-test| error:Error
+
+// Binary: cache/js-dbg-32-1301a72b1c39-linux
+// Flags: --ion-eager
+//
+
+[1,2,3,4,(':'),6,7,8].forEach(
+    function(x) {
+        assertEq(evalInFrame(0, ('^')), x);
+    }
+);
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug811606.js
@@ -0,0 +1,4 @@
+// Binary: cache/js-dbg-64-4e9567eeb09e-linux
+// Flags:
+//
+for each(e in [].some) {}
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug811612.js
@@ -0,0 +1,8 @@
+// |jit-test| error:TypeError
+
+// Binary: cache/js-dbg-64-4e9567eeb09e-linux
+// Flags:
+//
+evaluate({
+    e: [].some(Proxy.create(function() {}), "")
+})
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug811616.js
@@ -0,0 +1,6 @@
+// |jit-test| error:TypeError
+
+// Binary: cache/js-dbg-64-4e9567eeb09e-linux
+// Flags: --ion-eager
+//
+"".replace(RegExp(), Array.reduce)
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug812235.js
@@ -0,0 +1,10 @@
+// Binary: cache/js-dbg-64-a37525d304d9-linux
+// Flags: --ion-eager
+//
+gc()
+schedulegc(this)
+gcslice(2)
+function f() {
+    this["x"] = this["x"] = {}
+}
+new f()
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/auto-regress/bug813029.js
@@ -0,0 +1,12 @@
+// Binary: cache/js-dbg-64-4fddb9923ef0-linux
+// Flags: --ion-eager
+//
+
+function printBugNumber (num) {
+  BUGNUMBER = num;
+}
+gcslice(0)
+schedulegc(this);
+gcslice(1);
+var BUGNUMBER = ("one");
+printBugNumber();