slice-redefine-length.js (319B)
1 function foo() { 2 arguments.length = 2; 3 var args = Array.prototype.slice.call(arguments); 4 return bar(args); 5 } 6 7 function bar(args) { 8 var result = 0; 9 for (var x of args) { 10 result += x; 11 } 12 return result; 13 } 14 15 var sum = 0; 16 for (var i = 0; i < 100; i++) { 17 sum += foo(1, 2, 3, 4, 5, 6); 18 } 19 assertEq(sum, 300);