tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

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 }