tor-browser

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

Debugger-onNativeCall-04.js (517B)


      1 // Test that onNativeCall behaves correctly when a debugger eval might enter the
      2 // JIT via OSR.
      3 
      4 var g = newGlobal({newCompartment: true});
      5 var dbg = Debugger(g);
      6 var gdbg = dbg.addDebuggee(g);
      7 
      8 g.eval(`
      9 const x = [];
     10 function f() {
     11  for (let i = 0; i < 5; i++) {
     12    x.push(i);
     13  }
     14 }
     15 `);
     16 
     17 let numCalls = 0;
     18 dbg.onNativeCall = callee => { assertEq(callee.name, "push"); numCalls++; };
     19 
     20 var dbg2 = Debugger(g);
     21 
     22 for (let i = 0; i < 5; i++) {
     23  numCalls = 0;
     24  gdbg.executeInGlobal(`f()`);
     25  assertEq(numCalls, 5);
     26 }