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:
Jim Blandy 2013-03-21 17:03:34 -07:00
Родитель 4528bf3bc4
Коммит 11cf86d3c8
1 изменённых файлов: 0 добавлений и 10 удалений

Просмотреть файл

@ -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. */