bug1710089.js (934B)
1 // |jit-test| skip-if: getBuildConfiguration("wasi") 2 3 // Recursion depth reduced to allow PBL with debug build (hence larger 4 // frames) to work. 5 var iters = 75; 6 7 // Generate a deeply nested version of: 8 // function outer() { 9 // var top_level_var = 42; 10 // var x3 = 0; 11 // function f2() { 12 // var x2 = x3; 13 // function f1() { 14 // var x1 = x2; 15 // function f0() { 16 // var x0 = x1; 17 // return top_level_var + x0; 18 // } 19 // return f0(); 20 // } 21 // return f1(); 22 // } 23 // return f2(); 24 // } 25 26 var src = "return top_level_var + x0; " 27 28 for (var i = 0; i < iters; i++) { 29 var def = "var x" + i + " = x" + (i+1) + "; "; 30 src = "function f" + i + "() { " + def + src + "} return f" + i + "();" 31 } 32 src = "var x" + iters + " = 0;" + src; 33 src = "var top_level_var = 42; " + src; 34 35 var outer = Function(src); 36 for (var i = 0; i < 2; i++) { 37 assertEq(outer(), 42); 38 }