summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/debug/breakpoint-noncng.js
blob: 2ce779cbd7a11af3e55faa3964794261f6c95fc7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// Breakpoints work in non-compile-and-go code. Bug 738479.

var g = newGlobal({newCompartment: true});
g.s = '';
var dbg = new Debugger;
var gw = dbg.addDebuggee(g);
g.evaluate(
    "function f() {\n" +  // fscript.startLine
    "    s += 'a';\n" +   // fscript.startLine + 1
    "    s += 'b';\n" +   // fscript.startLine + 2
    "}\n");

var fscript = gw.makeDebuggeeValue(g.f).script;
var handler = {hit: function (frame) { g.s += '1'; }};
for (var pc of fscript.getLineOffsets(fscript.startLine + 2))
    fscript.setBreakpoint(pc, handler);

g.f();

assertEq(g.s, "a1b");