diff options
Diffstat (limited to 'js/src/jit-test/tests/warp/scalar-replace-array-apply-array-03.js')
-rw-r--r-- | js/src/jit-test/tests/warp/scalar-replace-array-apply-array-03.js | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/warp/scalar-replace-array-apply-array-03.js b/js/src/jit-test/tests/warp/scalar-replace-array-apply-array-03.js new file mode 100644 index 0000000000..54b88b1bdc --- /dev/null +++ b/js/src/jit-test/tests/warp/scalar-replace-array-apply-array-03.js @@ -0,0 +1,23 @@ +function escape() { with ({}) {} } + +function foo(i) { + return i; +} + +function bar(n, ...args) { + escape(args); + return foo.apply({}, args); +} + +// |bar| must be small enough to be inlinable. +assertEq(isSmallFunction(bar), true); + +function baz(a, n) { + return bar(n, n); +} + +var sum = 0; +for (var i = 0; i < 10000; i++) { + sum += baz(0, 1); +} +assertEq(sum, 10000); |