зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1563051 - Fix a debugger leak of BaselineDebugModeOSRInfo in DebugEpilogue. r=iain
The other caller of EnsureBareExitFrame is when unwinding in the exception handler and we already call deleteDebugModeOSRInfo there. Differential Revision: https://phabricator.services.mozilla.com/D36759 --HG-- extra : moz-landing-system : lando
This commit is contained in:
Родитель
6937395c0b
Коммит
e3a4316acf
|
@ -0,0 +1,11 @@
|
|||
// |jit-test| error:123
|
||||
var g = newGlobal({newCompartment: true});
|
||||
var dbg = new Debugger;
|
||||
dbg.addDebuggee(g);
|
||||
dbg.onEnterFrame = function(frame) {
|
||||
frame.onPop = function() {
|
||||
dbg.removeDebuggee(g);
|
||||
throw 123;
|
||||
}
|
||||
}
|
||||
g.eval("(function() {})()");
|
|
@ -922,6 +922,7 @@ bool DebugEpilogue(JSContext* cx, BaselineFrame* frame, jsbytecode* pc,
|
|||
if (!ok) {
|
||||
// Pop this frame by updating packedExitFP, so that the exception
|
||||
// handling code will start at the previous frame.
|
||||
frame->deleteDebugModeOSRInfo();
|
||||
JitFrameLayout* prefix = frame->framePrefix();
|
||||
EnsureBareExitFrame(cx->activation()->asJit(), prefix);
|
||||
return false;
|
||||
|
|
Загрузка…
Ссылка в новой задаче