summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/asm.js/testBug952022.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/asm.js/testBug952022.js')
-rw-r--r--js/src/jit-test/tests/asm.js/testBug952022.js57
1 files changed, 57 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/asm.js/testBug952022.js b/js/src/jit-test/tests/asm.js/testBug952022.js
new file mode 100644
index 0000000000..12f5d71f8d
--- /dev/null
+++ b/js/src/jit-test/tests/asm.js/testBug952022.js
@@ -0,0 +1,57 @@
+function g(f) {
+ for (var j = 0; j < 9; ++j) {
+ try {
+ f()
+ } catch (e) {}
+ }
+}
+function h(code) {
+ Function(code)();
+}
+g([]);
+g([]);
+g([]);
+g([]);
+g([]);
+g([]);
+g([]);
+g([]);
+g([]);
+g([]);
+g([]);
+g([]);
+g([]);
+g([]);
+g([]);
+g([]);
+g([]);
+g([]);
+g([]);
+g([]);
+g([]);
+g([]);
+g([]);
+g([]);
+g([]);
+g([]);
+g([]);
+g([]);
+g([]);
+g([]);
+h("\
+ m = (function(stdlib, foreign) { \
+ \"use asm\";\
+ var ff=foreign.ff;\
+ function f(){\
+ ff(0);\
+ } \
+ return f \
+ })(this , { \
+ ff: arguments.callee.caller\
+ });\
+ g(m , []);\
+");
+h("\
+ m = undefined;\
+ gc();\
+")