Bug 824473: Add testcases for the inlined funapply, r=testcase
authorHannes Verschore <hv1989@gmail.com>
Tue, 29 Jan 2013 02:29:08 +0100
changeset 130005 7d91cd6f1124878c0d213b38d94bbc6d130241ef
parent 130004 13288918cf765785ac47dd598ed590cde5008515
child 130006 b2b61d8b273553e3a04f073b34e1b441a76ab769
push id2323
push userbbajaj@mozilla.com
push dateMon, 01 Apr 2013 19:47:02 +0000
treeherdermozilla-beta@7712be144d91 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerstestcase
bugs824473
milestone21.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 824473: Add testcases for the inlined funapply, r=testcase
js/src/jit-test/tests/ion/bug824473.js
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/ion/bug824473.js
@@ -0,0 +1,41 @@
+function dumpArgs(i) { if (i == 90) return funapply.arguments.length; return [i]; }
+function funapply() { return dumpArgs.apply({}, arguments); }
+function test(i) { return funapply(i); }
+
+assertEq(test(89)[0], 89);
+assertEq(test(90), 1);
+
+function dumpArgs2(i,b) { if (i == 90) return funapply2.arguments.length; return [i]; }
+function funapply2() { return dumpArgs2.apply({}, arguments); }
+function test2(i,b) { return funapply2(i,b); }
+
+assertEq(test2(89, 10)[0], 89);
+assertEq(test2(90, 10), 2);
+
+function dumpArgs3(i,b) { if (i == 90) return funapply3.arguments.length; return [i]; }
+function funapply3() { return dumpArgs3.apply({}, arguments); }
+function test3(i,b, c) { return funapply3(i,b,c); }
+
+assertEq(test3(89, 10, 11)[0], 89);
+assertEq(test3(90, 10, 11), 3);
+
+function dumpArgs4(i) { if (i == 90) return funapply4.arguments.length; return [i]; }
+function funapply4() { return dumpArgs4.apply({}, arguments); }
+function test4(i,b) { return funapply4(i,b,1,2); }
+
+assertEq(test4(89,10)[0], 89);
+assertEq(test4(90,10), 4);
+
+function dumpArgs5(i,j,k,l) { if (i == 90) return funapply5.arguments.length*10 + l; return [i]; }
+function funapply5() { return dumpArgs5.apply({}, arguments); }
+function test5(i,b) { return funapply5(i,b,1,2); }
+
+assertEq(test5(89,10)[0], 89);
+assertEq(test5(90,10), 42);
+
+function dumpArgs6(i) { if (i == 90) return funapply6.arguments.length; return [i]; }
+function funapply6() { return dumpArgs6.apply({}, arguments); }
+function test6(i) { return funapply6(i,1,2,3); }
+
+assertEq(test6(89)[0], 89);
+assertEq(test6(90), 4);