Imported Upstream version 1.0.0
[platform/upstream/js.git] / js / src / jit-test / tests / basic / testBug634590c.js
1 this.name = "outer";
2 var sb = evalcx('');
3 sb.name = "inner";
4 sb.parent = this;
5 function f() { return this.name; }
6 f.notMuchTodo = '42';
7 assertEq(evalcx('(function () {\n' +
8                 '  arguments = null;\n' + // force heavyweight
9                 '  var f = parent.f;\n' +
10                 '  var name = "call";\n' +
11                 '  return (function () {\n' +
12                 '    eval(f.notMuchTodo);\n' + // reify Call, make f() compile to JSOP_CALLNAME
13                 '    var s = "";\n' +
14                 '    for (i = 0; i < 10; ++i)\n' +
15                 '      s += f();\n' +
16                 '    return s;\n' +
17                 '  })();\n' +
18                 '})()',
19                 sb),
20          "outerouterouterouterouterouterouterouterouterouter");