michael@0: function g(a, b, c, d) {} michael@0: function f(a, b, c) michael@0: { michael@0: arguments.length = getMaxArgs() + 1; michael@0: g.apply(this, arr); michael@0: } michael@0: var args = [[5], [5], [5], [5], [5], [5], [5], [5], [5], [5], [5], let (x = []) (x.length = getMaxArgs() + 1, x)] michael@0: try michael@0: { michael@0: for (var i = 0; i < args.length; i++) { arr = args[i]; f(); } michael@0: throw new Error("didn't throw"); michael@0: } michael@0: catch (e) michael@0: { michael@0: assertEq(e instanceof RangeError, true, "wrong exception: " + e); michael@0: } michael@0: try michael@0: { michael@0: for (var i = 0; i < args.length; i++) { arr = args[i]; f(); } michael@0: throw new Error("didn't throw"); michael@0: } michael@0: catch (e) michael@0: { michael@0: assertEq(e instanceof RangeError, true, "wrong exception: " + e); michael@0: }