js/src/jit-test/tests/debug/breakpoint-resume-01.js

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     1 // A breakpoint handler hit method can return {throw: exc} to throw an exception.
     3 var g = newGlobal();
     4 var dbg = Debugger(g);
     5 dbg.onDebuggerStatement = function (frame) {
     6     function hit(frame) {
     7         return {throw: frame.eval("new Error('PASS')").return};
     8     }
    10     var s = frame.script;
    11     var offs = s.getLineOffsets(g.line0 + 3);
    12     for (var i = 0; i < offs.length; i++)
    13         s.setBreakpoint(offs[i], {hit: hit});
    14 };
    16 g.s = null;
    17 g.eval("line0 = Error().lineNumber;\n" +
    18        "debugger;\n" +          // line0 + 1
    19        "try {\n" +              // line0 + 2
    20        "    s = 'FAIL';\n" +    // line0 + 3
    21        "} catch (exc) {\n" +
    22        "    assertEq(exc.constructor, Error);\n" +
    23        "    s = exc.message;\n" +
    24        "}\n");
    25 assertEq(g.s, 'PASS');

mercurial