[JSC] Do not use asArrayModes() with Structures because it discards TypedArray inform...
[WebKit-https.git] / JSTests / stress / arity-check-ftl-throw-more-args.js
1 // Require lots of arguments so that arity fixup will need a lot of stack, making
2 // it prone to stack overflow.
3 var script = "recursionCount, ";
4 for (var i = 0; i < 5000; ++i)
5     script += "dummy, "
6 script += "dummy";
7 var g = new Function(script, "return recursionCount ? g(recursionCount - 1) : 0;"); // Ensure that arguments are observed.
8
9 noInline(g);
10
11 // Ensure that f and g get optimized.
12 for (var i = 0; i < 10000; ++i) {
13     // Recurse once to ensure profiling along all control flow paths.
14     g(1);
15 }
16
17 try {
18     // Recurse enough times to trigger a stack overflow exception.
19     g(1000000);
20 } catch(e) {
21     if (! (e instanceof RangeError))
22         throw "bad value for e";
23 }