michael@0: // |jit-test| michael@0: michael@0: // If a frame's onPop handler throws, we should not call the michael@0: // onExceptionUnwind hook for that frame. michael@0: var g = newGlobal(); michael@0: var dbg = new Debugger(g); michael@0: michael@0: g.eval('function f() { var y; debugger; }'); michael@0: michael@0: dbg.onExceptionUnwind = function() { michael@0: assertEq(0, 1); michael@0: }; michael@0: michael@0: dbg.onDebuggerStatement = function handleDebugger(frame) { michael@0: frame.onPop = function(c) { michael@0: return {throw: 555}; michael@0: } michael@0: }; michael@0: michael@0: try { michael@0: g.f(); michael@0: assertEq(0, 2); michael@0: } catch(e) { michael@0: assertEq(e.toString().contains("555"), true); michael@0: }