summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/basic/testBug840012.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/basic/testBug840012.js')
-rw-r--r--js/src/jit-test/tests/basic/testBug840012.js18
1 files changed, 18 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/basic/testBug840012.js b/js/src/jit-test/tests/basic/testBug840012.js
new file mode 100644
index 0000000000..20793f7efe
--- /dev/null
+++ b/js/src/jit-test/tests/basic/testBug840012.js
@@ -0,0 +1,18 @@
+// |jit-test| allow-oom; allow-unhandlable-oom; allow-overrecursed
+
+gcPreserveCode();
+evaluate("gcparam(\"maxBytes\", gcparam(\"gcBytes\") + 4*1024);");
+evaluate("\
+function testDontEnum(F) { \
+ function test() {\
+ var upvar = \"\";\
+ function f() { upvar += \"\"; }\
+ typeof (new test(\"1\")) != 'function'\
+ }\
+ test();\
+} \
+var list = [];\
+for (i in list)\
+ var F = this[list[i]];\
+actual = testDontEnum(F);\
+");