js/src/jit-test/tests/basic/throw-apply-too-many-args.js

Wed, 31 Dec 2014 06:55:50 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:55:50 +0100
changeset 2
7e26c7da4463
permissions
-rw-r--r--

Added tag UPSTREAM_283F7C6 for changeset ca08bd8f51b2

michael@0 1 function g(a, b, c, d) {}
michael@0 2 function f(a, b, c)
michael@0 3 {
michael@0 4 arguments.length = getMaxArgs() + 1;
michael@0 5 g.apply(this, arr);
michael@0 6 }
michael@0 7 var args = [[5], [5], [5], [5], [5], [5], [5], [5], [5], [5], [5], let (x = []) (x.length = getMaxArgs() + 1, x)]
michael@0 8 try
michael@0 9 {
michael@0 10 for (var i = 0; i < args.length; i++) { arr = args[i]; f(); }
michael@0 11 throw new Error("didn't throw");
michael@0 12 }
michael@0 13 catch (e)
michael@0 14 {
michael@0 15 assertEq(e instanceof RangeError, true, "wrong exception: " + e);
michael@0 16 }
michael@0 17 try
michael@0 18 {
michael@0 19 for (var i = 0; i < args.length; i++) { arr = args[i]; f(); }
michael@0 20 throw new Error("didn't throw");
michael@0 21 }
michael@0 22 catch (e)
michael@0 23 {
michael@0 24 assertEq(e instanceof RangeError, true, "wrong exception: " + e);
michael@0 25 }

mercurial