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