summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/debug/bug911065.js
blob: ad539ae3d9ca4a8b528db120dfb4a818246ffcd6 (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
32
33
34
var g = newGlobal();
var dbg = new Debugger;
var gw = dbg.addDebuggee(g);

g.eval(`                        //  1
var line0 = Error().lineNumber; //  2
function f() {                  //  3
    for (var x of [0]) {        //  4
        if (true == false)      //  5
            return false;       //  6, aka line0 + 4
    }                           //  7
    return true;                //  8
}                               //  9
`);                             // 10

if (g.dis)
  g.dis(g.f);

var script = gw.getOwnPropertyDescriptor("f").value.script;

print("Debugger's view:");
print("----------------");
for (var i = script.startLine; i <= script.startLine + script.lineCount; i++) {
  print("Line " + i + ": " + JSON.stringify(script.getLineOffsets(i)));
}

var hits = 0;
var handler = {hit: function () { hits++; }};
var offs = script.getLineOffsets(g.line0 + 4);
for (var i = 0; i < offs.length; i++)
    script.setBreakpoint(offs[i], handler);

assertEq(g.f(), true);
assertEq(hits, 0);