tor-browser

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

classes.js (903B)


      1 load(libdir + 'bytecode-cache.js');
      2 
      3 // Prevent relazification triggered by some zeal modes. Relazification can cause
      4 // test failures because lazy functions are XDR'd differently.
      5 gczeal(0);
      6 
      7 var test = "new class extends class { } { constructor() { super(); } }()";
      8 evalWithCache(test, { assertEqBytecode : true });
      9 
     10 var test = "new class { method() { super.toString(); } }().method()";
     11 evalWithCache(test, { assertEqBytecode : true });
     12 
     13 // Test class constructor in lazy function
     14 var test = `
     15    function f(delazify) {
     16        function inner1() {
     17            class Y {
     18                constructor() {}
     19            }
     20        }
     21 
     22        function inner2() {
     23            class Y {
     24                constructor() {}
     25                field1 = "";
     26            }
     27        }
     28 
     29        if (delazify) {
     30            inner1();
     31            inner2();
     32        }
     33    }
     34    f(generation > 0);
     35 `;
     36 evalWithCache(test, {});