summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/debug/Debugger-clearAllBreakpoints-02.js
blob: 20403294251640309b5c50087769892a58a195df (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
// |jit-test| skip-if: !wasmDebuggingEnabled()
// clearAllBreakpoints should clear breakpoints for WASM scripts.

var g = newGlobal({newCompartment: true});
var dbg = new Debugger(g);

g.eval(`
    var wasm = wasmTextToBinary(
      '(module (func (nop) (nop)) (export "test" (func 0)))');
    var m = new WebAssembly.Instance(new WebAssembly.Module(wasm));
`);
var wasmScript = dbg.findScripts().filter(s => s.format == 'wasm')[0];
var offsets = wasmScript.getPossibleBreakpointOffsets();

let count = 0;
wasmScript.setBreakpoint(offsets[0], {
  hit: () => {
    count++;
  },
});

g.m.exports.test();
assertEq(count, 1);

g.m.exports.test();
assertEq(count, 2);

dbg.clearAllBreakpoints();

g.m.exports.test();
assertEq(count, 2);