Bug 528870 - fix double-slurping rebase error (r=dvander)

This commit is contained in:
Luke Wagner 2009-11-16 10:14:57 -08:00
Родитель 7324d334bd
Коммит bbbed2d1ea
1 изменённых файлов: 2 добавлений и 7 удалений

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

@ -2441,14 +2441,9 @@ TraceRecorder::TraceRecorder(JSContext* cx, VMSideExit* anchor, VMFragment* frag
/* read into registers all values on the stack and all globals we know so far */
import(treeInfo, lirbuf->sp, stackSlots, ngslots, callDepth, typeMap);
/*
* If slurping failed, there's no reason to start recording again. Emit LIR
* to capture the rest of the slots, then immediately compile.
*/
if (anchor && anchor->exitType == RECURSIVE_SLURP_FAIL_EXIT) {
slurpDownFrames((jsbytecode*)anchor->recursive_pc - JSOP_CALL_LENGTH);
/* Finish handling RECURSIVE_SLURP_FAIL_EXIT in startRecorder. */
if (anchor && anchor->exitType == RECURSIVE_SLURP_FAIL_EXIT)
return;
}
if (fragment == fragment->root) {
/*