tor-browser

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

Debugger-clearAllBreakpoints-02.js (733B)


      1 // |jit-test| skip-if: !wasmDebuggingEnabled()
      2 // clearAllBreakpoints should clear breakpoints for WASM scripts.
      3 
      4 var g = newGlobal({newCompartment: true});
      5 var dbg = new Debugger(g);
      6 
      7 g.eval(`
      8    var wasm = wasmTextToBinary(
      9      '(module (func (nop) (nop)) (export "test" (func 0)))');
     10    var m = new WebAssembly.Instance(new WebAssembly.Module(wasm));
     11 `);
     12 var wasmScript = dbg.findScripts().filter(s => s.format == 'wasm')[0];
     13 var offsets = wasmScript.getPossibleBreakpointOffsets();
     14 
     15 let count = 0;
     16 wasmScript.setBreakpoint(offsets[0], {
     17  hit: () => {
     18    count++;
     19  },
     20 });
     21 
     22 g.m.exports.test();
     23 assertEq(count, 1);
     24 
     25 g.m.exports.test();
     26 assertEq(count, 2);
     27 
     28 dbg.clearAllBreakpoints();
     29 
     30 g.m.exports.test();
     31 assertEq(count, 2);