tor-browser

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

callgname.js (695B)


      1 function g1(x) {
      2    return x + 1;
      3 }
      4 function f1() {
      5    var y = 0;
      6    for (var i=0; i<100; i++) {
      7        y += g1(g1(i));
      8    }
      9    return y;
     10 }
     11 g1(10);
     12 assertEq(f1(), 5150);
     13 
     14 x = 1;
     15 other = newGlobal("same-compartment");
     16 other.eval("f = function() { return x; }; x = 2;");
     17 
     18 h = other.f;
     19 
     20 function testOtherGlobal() {
     21    var y = 0;
     22    for (var i=0; i<100; i++) {
     23        y += h();
     24    }
     25    return y;
     26 }
     27 h();
     28 assertEq(testOtherGlobal(), 200);
     29 
     30 // Note: this test requires on On-Stack Invalidation.
     31 f2 = function() {
     32    return x;
     33 }
     34 function test2() {
     35    var y = 0;
     36    for (var i=0; i<50; i++) {
     37        y += f2();
     38    }
     39    return y;
     40 }
     41 assertEq(test2(), 50);
     42 f2 = h;
     43 assertEq(test2(), 100);