tor-browser

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

testBug1125561.js (1020B)


      1 load(libdir + "asm.js");
      2 
      3 setJitCompilerOption("ion.warmup.trigger", 0);
      4 setJitCompilerOption("baseline.warmup.trigger", 0);
      5 setJitCompilerOption("offthread-compilation.enable", 0);
      6 
      7 function ffi1() { assertJitStackInvariants() }
      8 function ffi2() { return { valueOf() { assertJitStackInvariants() } } }
      9 
     10 // FFI with no coercion
     11 var m = asmCompile('stdlib', 'foreign', `
     12    "use asm";
     13    var ffi = foreign.ffi;
     14    function f() { ffi(); }
     15    return f
     16 `);
     17 var f = asmLink(m, null, {ffi:ffi1});
     18 f();
     19 f();
     20 
     21 // FFI with ToInt32 coercion
     22 var m = asmCompile('stdlib', 'foreign', `
     23    "use asm";
     24    var ffi = foreign.ffi;
     25    function f() { ffi() | 0; }
     26    return f
     27 `);
     28 var f = asmLink(m, null, {ffi:ffi1});
     29 f();
     30 f();
     31 var f = asmLink(m, null, {ffi:ffi2});
     32 f();
     33 f();
     34 
     35 // FFI with ToNumber coercion
     36 var m = asmCompile('stdlib', 'foreign', `
     37    "use asm";
     38    var ffi = foreign.ffi;
     39    function f() { +ffi(); }
     40    return f
     41 `);
     42 var f = asmLink(m, this, {ffi:ffi1});
     43 f();
     44 f();
     45 var f = asmLink(m, this, {ffi:ffi2});
     46 f();
     47 f();