js/src/jit-test/tests/debug/resumption-05.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 // |jit-test| debug
     2 // null resumption value means terminate the debuggee
     4 var g = newGlobal();
     5 g.debuggeeGlobal = this;
     6 g.eval("(" + function () { 
     7         var dbg = new Debugger(debuggeeGlobal);
     8         dbg.onDebuggerStatement = function (frame) {
     9             if (frame.callee === null) {
    10                 // The first debugger statement below.
    11                 debuggeeGlobal.log += "1";
    12                 var cv = frame.eval("f();");
    13                 assertEq(cv, null);
    14                 debuggeeGlobal.log += "2";
    15             } else {
    16                 // The second debugger statement.
    17                 debuggeeGlobal.log += "3";
    18                 assertEq(frame.callee.name, "f");
    19                 return null;
    20             }
    21         };
    22     } + ")()");
    24 var log = "";
    25 debugger;
    27 function f() {
    28     log += "4";
    29     try {
    30         debugger;  // the debugger terminates us here
    31     } finally {
    32         log += "5";  // this should not execute
    33     }
    34 }
    36 assertEq(log, "1432");

mercurial