summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/basic/testBug634590c.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/basic/testBug634590c.js')
-rw-r--r--js/src/jit-test/tests/basic/testBug634590c.js20
1 files changed, 20 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/basic/testBug634590c.js b/js/src/jit-test/tests/basic/testBug634590c.js
new file mode 100644
index 0000000000..1ae2542def
--- /dev/null
+++ b/js/src/jit-test/tests/basic/testBug634590c.js
@@ -0,0 +1,20 @@
+this.name = "outer";
+var sb = evalcx('');
+sb.name = "inner";
+sb.parent = this;
+function f() { return this.name; }
+f.notMuchTodo = '42';
+assertEq(evalcx('(function () {\n' +
+ ' arguments = null;\n' + // force heavyweight
+ ' var f = parent.f;\n' +
+ ' var name = "call";\n' +
+ ' return (function () {\n' +
+ ' eval(f.notMuchTodo);\n' + // reify Call, make f() compile to JSOP_CALLNAME
+ ' var s = "";\n' +
+ ' for (i = 0; i < 10; ++i)\n' +
+ ' s += f();\n' +
+ ' return s;\n' +
+ ' })();\n' +
+ '})()',
+ sb),
+ "outerouterouterouterouterouterouterouterouterouter");