michael@0: function f(x) { michael@0: if (x == 0) michael@0: return; michael@0: arguments[0]--; michael@0: f.apply(null, arguments); michael@0: } michael@0: michael@0: // When the apply-optimization isn't on, each recursive call chews up the C michael@0: // stack, so don't push it. michael@0: a = [20]; michael@0: michael@0: for (var i = 0; i < 2000; ++i) michael@0: a.push(i); michael@0: f.apply(null, a);