inline-arguments-escaped-apply.js (723B)
1 // |jit-test| --fast-warmup 2 3 function foo(...args) { 4 with ({}) {} 5 return args.length 6 } 7 8 function inner() { 9 return arguments; 10 } 11 12 function outer0() { 13 trialInline(); 14 return foo.apply({}, inner()); 15 } 16 17 function outer1() { 18 trialInline(); 19 return foo.apply({}, inner(1)); 20 } 21 22 function outer2() { 23 trialInline(); 24 return foo.apply({}, inner(1,2)); 25 } 26 27 function outer3() { 28 trialInline(); 29 return foo.apply({}, inner(1,2,3)); 30 } 31 32 function outer4() { 33 trialInline(); 34 return foo.apply({}, inner(1,2,3,4)); 35 } 36 37 with ({}) {} 38 39 for (var i = 0; i < 50; i++) { 40 assertEq(outer0(), 0); 41 assertEq(outer1(), 1); 42 assertEq(outer2(), 2); 43 assertEq(outer3(), 3); 44 assertEq(outer4(), 4); 45 }