summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/pic/arguments.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/pic/arguments.js')
-rw-r--r--js/src/jit-test/tests/pic/arguments.js23
1 files changed, 23 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/pic/arguments.js b/js/src/jit-test/tests/pic/arguments.js
new file mode 100644
index 0000000000..0ca82f690d
--- /dev/null
+++ b/js/src/jit-test/tests/pic/arguments.js
@@ -0,0 +1,23 @@
+function f() {
+ var args = arguments, r;
+
+ for (var i = 0; i < args.length; i++)
+ r = args[i];
+
+ return r;
+}
+
+assertEq(f.apply(null, [1, 2, 3, 4, 5, 6]), 6)
+assertEq(f.apply(null, [1, 2, 3, 4, 5]), 5)
+assertEq(f.apply(null, [1, 2, 3, 4]), 4)
+
+function g(arg) {
+ var r;
+ for (var i = 0; i < arg.length; i++)
+ r = arg[i];
+ return r;
+}
+
+assertEq(g((function () { return arguments; }).call(null, 1, 2, 3)), 3);
+assertEq(g(new Float32Array(3)), 0.0);
+assertEq(g([1, 2, 3, 4]), 4);