зеркало из https://github.com/mozilla/gecko-dev.git
Bug 852773: Remove assertions that make us horribly slow when debugging JS in a DEBUG build. r=jandem
When running JS code under the JS debugger in a DEBUG build, Debugger::slowPathOnEnterFrame constructs a ScriptFrameIter instance every time we enter a function. That constructor calls (JaegerMonkey's) ExpandAllInlineFrames, which is very expensive. We need Debugger to work in DEBUG builds, too.
This commit is contained in:
Родитель
4528bf3bc4
Коммит
11cf86d3c8
|
@ -493,11 +493,6 @@ Debugger::slowPathOnEnterFrame(JSContext *cx, AbstractFramePtr frame, MutableHan
|
|||
AutoValueVector triggered(cx);
|
||||
Handle<GlobalObject*> global = cx->global();
|
||||
|
||||
#ifdef DEBUG
|
||||
ScriptFrameIter iter(cx);
|
||||
JS_ASSERT(iter.abstractFramePtr() == frame);
|
||||
#endif
|
||||
|
||||
if (GlobalObject::DebuggerVector *debuggers = global->getDebuggers()) {
|
||||
for (Debugger **p = debuggers->begin(); p != debuggers->end(); p++) {
|
||||
Debugger *dbg = *p;
|
||||
|
@ -531,11 +526,6 @@ DebuggerFrame_freeStackIterData(FreeOp *fop, RawObject obj);
|
|||
bool
|
||||
Debugger::slowPathOnLeaveFrame(JSContext *cx, AbstractFramePtr frame, bool frameOk)
|
||||
{
|
||||
#ifdef DEBUG
|
||||
ScriptFrameIter iter(cx);
|
||||
JS_ASSERT(iter.abstractFramePtr() == frame);
|
||||
#endif
|
||||
|
||||
Handle<GlobalObject*> global = cx->global();
|
||||
|
||||
/* Save the frame's completion value. */
|
||||
|
|
Загрузка…
Ссылка в новой задаче