diff options
Diffstat (limited to 'js/src/jit-test/tests/arguments/slice-redefine-length.js')
-rw-r--r-- | js/src/jit-test/tests/arguments/slice-redefine-length.js | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/arguments/slice-redefine-length.js b/js/src/jit-test/tests/arguments/slice-redefine-length.js new file mode 100644 index 0000000000..9b776064d7 --- /dev/null +++ b/js/src/jit-test/tests/arguments/slice-redefine-length.js @@ -0,0 +1,19 @@ +function foo() { + arguments.length = 2; + var args = Array.prototype.slice.call(arguments); + return bar(args); +} + +function bar(args) { + var result = 0; + for (var x of args) { + result += x; + } + return result; +} + +var sum = 0; +for (var i = 0; i < 100; i++) { + sum += foo(1, 2, 3, 4, 5, 6); +} +assertEq(sum, 300); |