Imported Upstream version 1.0.0
[platform/upstream/js.git] / js / src / jit-test / tests / arguments / argsx-3a.js
1 actual = '';
2 expected = 'function f(t) {\n    if (t) {\n        var b = arguments;\n        appendToActual(b[0]);\n    }\n    for (var i = 0; i < 10; ++i) {\n        var a = arguments;\n        appendToActual(a.callee);\n        appendToActual(a.length);\n        appendToActual(a[0]);\n        appendToActual(a[1]);\n    }\n},4,false,1,function f(t) {\n    if (t) {\n        var b = arguments;\n        appendToActual(b[0]);\n    }\n    for (var i = 0; i < 10; ++i) {\n        var a = arguments;\n        appendToActual(a.callee);\n        appendToActual(a.length);\n        appendToActual(a[0]);\n        appendToActual(a[1]);\n    }\n},4,false,1,function f(t) {\n    if (t) {\n        var b = arguments;\n        appendToActual(b[0]);\n    }\n    for (var i = 0; i < 10; ++i) {\n        var a = arguments;\n        appendToActual(a.callee);\n        appendToActual(a.length);\n        appendToActual(a[0]);\n        appendToActual(a[1]);\n    }\n},4,false,1,function f(t) {\n    if (t) {\n        var b = arguments;\n        appendToActual(b[0]);\n    }\n    for (var i = 0; i < 10; ++i) {\n        var a = arguments;\n        appendToActual(a.callee);\n        appendToActual(a.length);\n        appendToActual(a[0]);\n        appendToActual(a[1]);\n    }\n},4,false,1,function f(t) {\n    if (t) {\n        var b = arguments;\n        appendToActual(b[0]);\n    }\n    for (var i = 0; i < 10; ++i) {\n        var a = arguments;\n        appendToActual(a.callee);\n        appendToActual(a.length);\n        appendToActual(a[0]);\n        appendToActual(a[1]);\n    }\n},4,false,1,function f(t) {\n    if (t) {\n        var b = arguments;\n        appendToActual(b[0]);\n    }\n    for (var i = 0; i < 10; ++i) {\n        var a = arguments;\n        appendToActual(a.callee);\n        appendToActual(a.length);\n        appendToActual(a[0]);\n        appendToActual(a[1]);\n    }\n},4,false,1,function f(t) {\n    if (t) {\n        var b = arguments;\n        appendToActual(b[0]);\n    }\n    for (var i = 0; i < 10; ++i) {\n        var a = arguments;\n        appendToActual(a.callee);\n        appendToActual(a.length);\n        appendToActual(a[0]);\n        appendToActual(a[1]);\n    }\n},4,false,1,function f(t) {\n    if (t) {\n        var b = arguments;\n        appendToActual(b[0]);\n    }\n    for (var i = 0; i < 10; ++i) {\n        var a = arguments;\n        appendToActual(a.callee);\n        appendToActual(a.length);\n        appendToActual(a[0]);\n        appendToActual(a[1]);\n    }\n},4,false,1,function f(t) {\n    if (t) {\n        var b = arguments;\n        appendToActual(b[0]);\n    }\n    for (var i = 0; i < 10; ++i) {\n        var a = arguments;\n        appendToActual(a.callee);\n        appendToActual(a.length);\n        appendToActual(a[0]);\n        appendToActual(a[1]);\n    }\n},4,false,1,function f(t) {\n    if (t) {\n        var b = arguments;\n        appendToActual(b[0]);\n    }\n    for (var i = 0; i < 10; ++i) {\n        var a = arguments;\n        appendToActual(a.callee);\n        appendToActual(a.length);\n        appendToActual(a[0]);\n        appendToActual(a[1]);\n    }\n},4,false,1,true,function f(t) {\n    if (t) {\n        var b = arguments;\n        appendToActual(b[0]);\n    }\n    for (var i = 0; i < 10; ++i) {\n        var a = arguments;\n        appendToActual(a.callee);\n        appendToActual(a.length);\n        appendToActual(a[0]);\n        appendToActual(a[1]);\n    }\n},4,true,1,function f(t) {\n    if (t) {\n        var b = arguments;\n        appendToActual(b[0]);\n    }\n    for (var i = 0; i < 10; ++i) {\n        var a = arguments;\n        appendToActual(a.callee);\n        appendToActual(a.length);\n        appendToActual(a[0]);\n        appendToActual(a[1]);\n    }\n},4,true,1,function f(t) {\n    if (t) {\n        var b = arguments;\n        appendToActual(b[0]);\n    }\n    for (var i = 0; i < 10; ++i) {\n        var a = arguments;\n        appendToActual(a.callee);\n        appendToActual(a.length);\n        appendToActual(a[0]);\n        appendToActual(a[1]);\n    }\n},4,true,1,function f(t) {\n    if (t) {\n        var b = arguments;\n        appendToActual(b[0]);\n    }\n    for (var i = 0; i < 10; ++i) {\n        var a = arguments;\n        appendToActual(a.callee);\n        appendToActual(a.length);\n        appendToActual(a[0]);\n        appendToActual(a[1]);\n    }\n},4,true,1,function f(t) {\n    if (t) {\n        var b = arguments;\n        appendToActual(b[0]);\n    }\n    for (var i = 0; i < 10; ++i) {\n        var a = arguments;\n        appendToActual(a.callee);\n        appendToActual(a.length);\n        appendToActual(a[0]);\n        appendToActual(a[1]);\n    }\n},4,true,1,function f(t) {\n    if (t) {\n        var b = arguments;\n        appendToActual(b[0]);\n    }\n    for (var i = 0; i < 10; ++i) {\n        var a = arguments;\n        appendToActual(a.callee);\n        appendToActual(a.length);\n        appendToActual(a[0]);\n        appendToActual(a[1]);\n    }\n},4,true,1,function f(t) {\n    if (t) {\n        var b = arguments;\n        appendToActual(b[0]);\n    }\n    for (var i = 0; i < 10; ++i) {\n        var a = arguments;\n        appendToActual(a.callee);\n        appendToActual(a.length);\n        appendToActual(a[0]);\n        appendToActual(a[1]);\n    }\n},4,true,1,function f(t) {\n    if (t) {\n        var b = arguments;\n        appendToActual(b[0]);\n    }\n    for (var i = 0; i < 10; ++i) {\n        var a = arguments;\n        appendToActual(a.callee);\n        appendToActual(a.length);\n        appendToActual(a[0]);\n        appendToActual(a[1]);\n    }\n},4,true,1,function f(t) {\n    if (t) {\n        var b = arguments;\n        appendToActual(b[0]);\n    }\n    for (var i = 0; i < 10; ++i) {\n        var a = arguments;\n        appendToActual(a.callee);\n        appendToActual(a.length);\n        appendToActual(a[0]);\n        appendToActual(a[1]);\n    }\n},4,true,1,function f(t) {\n    if (t) {\n        var b = arguments;\n        appendToActual(b[0]);\n    }\n    for (var i = 0; i < 10; ++i) {\n        var a = arguments;\n        appendToActual(a.callee);\n        appendToActual(a.length);\n        appendToActual(a[0]);\n        appendToActual(a[1]);\n    }\n},4,true,1,true,function f(t) {\n    if (t) {\n        var b = arguments;\n        appendToActual(b[0]);\n    }\n    for (var i = 0; i < 10; ++i) {\n        var a = arguments;\n        appendToActual(a.callee);\n        appendToActual(a.length);\n        appendToActual(a[0]);\n        appendToActual(a[1]);\n    }\n},3,true,[object Object],function f(t) {\n    if (t) {\n        var b = arguments;\n        appendToActual(b[0]);\n    }\n    for (var i = 0; i < 10; ++i) {\n        var a = arguments;\n        appendToActual(a.callee);\n        appendToActual(a.length);\n        appendToActual(a[0]);\n        appendToActual(a[1]);\n    }\n},3,true,[object Object],function f(t) {\n    if (t) {\n        var b = arguments;\n        appendToActual(b[0]);\n    }\n    for (var i = 0; i < 10; ++i) {\n        var a = arguments;\n        appendToActual(a.callee);\n        appendToActual(a.length);\n        appendToActual(a[0]);\n        appendToActual(a[1]);\n    }\n},3,true,[object Object],function f(t) {\n    if (t) {\n        var b = arguments;\n        appendToActual(b[0]);\n    }\n    for (var i = 0; i < 10; ++i) {\n        var a = arguments;\n        appendToActual(a.callee);\n        appendToActual(a.length);\n        appendToActual(a[0]);\n        appendToActual(a[1]);\n    }\n},3,true,[object Object],function f(t) {\n    if (t) {\n        var b = arguments;\n        appendToActual(b[0]);\n    }\n    for (var i = 0; i < 10; ++i) {\n        var a = arguments;\n        appendToActual(a.callee);\n        appendToActual(a.length);\n        appendToActual(a[0]);\n        appendToActual(a[1]);\n    }\n},3,true,[object Object],function f(t) {\n    if (t) {\n        var b = arguments;\n        appendToActual(b[0]);\n    }\n    for (var i = 0; i < 10; ++i) {\n        var a = arguments;\n        appendToActual(a.callee);\n        appendToActual(a.length);\n        appendToActual(a[0]);\n        appendToActual(a[1]);\n    }\n},3,true,[object Object],function f(t) {\n    if (t) {\n        var b = arguments;\n        appendToActual(b[0]);\n    }\n    for (var i = 0; i < 10; ++i) {\n        var a = arguments;\n        appendToActual(a.callee);\n        appendToActual(a.length);\n        appendToActual(a[0]);\n        appendToActual(a[1]);\n    }\n},3,true,[object Object],function f(t) {\n    if (t) {\n        var b = arguments;\n        appendToActual(b[0]);\n    }\n    for (var i = 0; i < 10; ++i) {\n        var a = arguments;\n        appendToActual(a.callee);\n        appendToActual(a.length);\n        appendToActual(a[0]);\n        appendToActual(a[1]);\n    }\n},3,true,[object Object],function f(t) {\n    if (t) {\n        var b = arguments;\n        appendToActual(b[0]);\n    }\n    for (var i = 0; i < 10; ++i) {\n        var a = arguments;\n        appendToActual(a.callee);\n        appendToActual(a.length);\n        appendToActual(a[0]);\n        appendToActual(a[1]);\n    }\n},3,true,[object Object],function f(t) {\n    if (t) {\n        var b = arguments;\n        appendToActual(b[0]);\n    }\n    for (var i = 0; i < 10; ++i) {\n        var a = arguments;\n        appendToActual(a.callee);\n        appendToActual(a.length);\n        appendToActual(a[0]);\n        appendToActual(a[1]);\n    }\n},3,true,[object Object],true,function f(t) {\n    if (t) {\n        var b = arguments;\n        appendToActual(b[0]);\n    }\n    for (var i = 0; i < 10; ++i) {\n        var a = arguments;\n        appendToActual(a.callee);\n        appendToActual(a.length);\n        appendToActual(a[0]);\n        appendToActual(a[1]);\n    }\n},3,true,abc,function f(t) {\n    if (t) {\n        var b = arguments;\n        appendToActual(b[0]);\n    }\n    for (var i = 0; i < 10; ++i) {\n        var a = arguments;\n        appendToActual(a.callee);\n        appendToActual(a.length);\n        appendToActual(a[0]);\n        appendToActual(a[1]);\n    }\n},3,true,abc,function f(t) {\n    if (t) {\n        var b = arguments;\n        appendToActual(b[0]);\n    }\n    for (var i = 0; i < 10; ++i) {\n        var a = arguments;\n        appendToActual(a.callee);\n        appendToActual(a.length);\n        appendToActual(a[0]);\n        appendToActual(a[1]);\n    }\n},3,true,abc,function f(t) {\n    if (t) {\n        var b = arguments;\n        appendToActual(b[0]);\n    }\n    for (var i = 0; i < 10; ++i) {\n        var a = arguments;\n        appendToActual(a.callee);\n        appendToActual(a.length);\n        appendToActual(a[0]);\n        appendToActual(a[1]);\n    }\n},3,true,abc,function f(t) {\n    if (t) {\n        var b = arguments;\n        appendToActual(b[0]);\n    }\n    for (var i = 0; i < 10; ++i) {\n        var a = arguments;\n        appendToActual(a.callee);\n        appendToActual(a.length);\n        appendToActual(a[0]);\n        appendToActual(a[1]);\n    }\n},3,true,abc,function f(t) {\n    if (t) {\n        var b = arguments;\n        appendToActual(b[0]);\n    }\n    for (var i = 0; i < 10; ++i) {\n        var a = arguments;\n        appendToActual(a.callee);\n        appendToActual(a.length);\n        appendToActual(a[0]);\n        appendToActual(a[1]);\n    }\n},3,true,abc,function f(t) {\n    if (t) {\n        var b = arguments;\n        appendToActual(b[0]);\n    }\n    for (var i = 0; i < 10; ++i) {\n        var a = arguments;\n        appendToActual(a.callee);\n        appendToActual(a.length);\n        appendToActual(a[0]);\n        appendToActual(a[1]);\n    }\n},3,true,abc,function f(t) {\n    if (t) {\n        var b = arguments;\n        appendToActual(b[0]);\n    }\n    for (var i = 0; i < 10; ++i) {\n        var a = arguments;\n        appendToActual(a.callee);\n        appendToActual(a.length);\n        appendToActual(a[0]);\n        appendToActual(a[1]);\n    }\n},3,true,abc,function f(t) {\n    if (t) {\n        var b = arguments;\n        appendToActual(b[0]);\n    }\n    for (var i = 0; i < 10; ++i) {\n        var a = arguments;\n        appendToActual(a.callee);\n        appendToActual(a.length);\n        appendToActual(a[0]);\n        appendToActual(a[1]);\n    }\n},3,true,abc,function f(t) {\n    if (t) {\n        var b = arguments;\n        appendToActual(b[0]);\n    }\n    for (var i = 0; i < 10; ++i) {\n        var a = arguments;\n        appendToActual(a.callee);\n        appendToActual(a.length);\n        appendToActual(a[0]);\n        appendToActual(a[1]);\n    }\n},3,true,abc,';
3
4 // args object not created by interpreter at record time, but maybe at run time
5
6 function f(t) {
7   if (t) {
8     var b = arguments;
9     appendToActual(b[0]);
10   }
11   
12   for (var i = 0; i < 10; ++i) {
13     var a = arguments;
14     appendToActual(a.callee);
15     appendToActual(a.length);
16     appendToActual(a[0]);
17     appendToActual(a[1]);
18   }
19 }
20
21 f(false, 1, 2, 3);
22 f(true, 1, 2, 3);
23 f(true, {}, 'a');
24 f(true, 'abc', 'def');
25
26
27 assertEq(actual, expected)