summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/ion/bug820873.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/ion/bug820873.js')
-rw-r--r--js/src/jit-test/tests/ion/bug820873.js28
1 files changed, 28 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/ion/bug820873.js b/js/src/jit-test/tests/ion/bug820873.js
new file mode 100644
index 0000000000..d50e1b19bb
--- /dev/null
+++ b/js/src/jit-test/tests/ion/bug820873.js
@@ -0,0 +1,28 @@
+
+var lfcode = new Array();
+lfcode.push("3");
+lfcode.push("with(evalcx('')) this.__defineGetter__('x', Function);");
+lfcode.push("gczeal(2)");
+lfcode.push("4");
+lfcode.push("\
+ var log = '';\
+ for (var { m } = i = 0 ; ; i++) {\
+ log += x; \
+ if (x === 6)\
+ a.slow = true; if (i > 1000) break;\
+ }\
+");
+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 3: function newFunc(x) { new Function(x)(); }; newFunc(lfVarx); break;
+ case 4: eval("(function() { " + lfVarx + " })();"); break;
+ }
+ }
+}