summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/basic/testBug634590d.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/basic/testBug634590d.js')
-rw-r--r--js/src/jit-test/tests/basic/testBug634590d.js19
1 files changed, 19 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/basic/testBug634590d.js b/js/src/jit-test/tests/basic/testBug634590d.js
new file mode 100644
index 000000000..d2e47b51f
--- /dev/null
+++ b/js/src/jit-test/tests/basic/testBug634590d.js
@@ -0,0 +1,19 @@
+this.name = "outer";
+var sb = evalcx('');
+sb.name = "inner";
+sb.parent = this;
+this.f = function name(outer) {
+ if (outer) {
+ return function () {
+ return name(false);
+ }();
+ }
+ return this.name;
+}
+assertEq(evalcx('this.f = parent.f;\n' +
+ 'var s = "";\n' +
+ 'for (i = 0; i < 10; ++i)\n' +
+ ' s += f(true);\n' +
+ 's',
+ sb),
+ "outerouterouterouterouterouterouterouterouterouter");