summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/closures/lambda-inner-heavy.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/closures/lambda-inner-heavy.js')
-rw-r--r--js/src/jit-test/tests/closures/lambda-inner-heavy.js32
1 files changed, 32 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/closures/lambda-inner-heavy.js b/js/src/jit-test/tests/closures/lambda-inner-heavy.js
new file mode 100644
index 0000000000..eba73cb645
--- /dev/null
+++ b/js/src/jit-test/tests/closures/lambda-inner-heavy.js
@@ -0,0 +1,32 @@
+actual = '';
+expected = '0,0,0,0,0,0,0,1,1,1,1,1,1,1,2,2,2,2,2,2,2,3,3,3,3,3,3,3,4,4,4,4,4,4,4,';
+
+function g(a) {
+ a();
+}
+
+function n() {
+}
+
+function f(y) {
+ for (var i = 0; i < 7; ++i) {
+ var q;
+ q = function() {
+ appendToActual(y);
+
+ var m = 1;
+ var z = function() {
+ appendToActual(m);
+ }
+ m = 2;
+ };
+ g(q);
+ }
+}
+
+for (var i = 0; i < 5; ++i) {
+ f(i);
+ }
+
+
+assertEq(actual, expected)