michael@0: // |jit-test| debug michael@0: // Check that {throw:} resumption kills the current stack frame. michael@0: michael@0: load(libdir + "asserts.js"); michael@0: michael@0: var g = newGlobal(); michael@0: g.debuggeeGlobal = this; michael@0: g.eval("(" + function () { michael@0: var dbg = new Debugger(debuggeeGlobal); michael@0: var prev = null; michael@0: dbg.onDebuggerStatement = function (frame) { michael@0: assertEq(frame === prev, false); michael@0: if (prev) michael@0: assertEq(prev.live, false); michael@0: prev = frame; michael@0: return {throw: debuggeeGlobal.i}; michael@0: }; michael@0: } + ")();"); michael@0: michael@0: function f() { debugger; } michael@0: for (var i = 0; i < 10; i++) michael@0: assertThrowsValue(f, i);