Bug 622318 - Fix inverted deep bail check in moreiter (r=dvander)

--HG--
extra : rebase_source : 28ce8907129fecfa7d6397b3b1ffc151fbff0528
This commit is contained in:
Luke Wagner 2011-01-03 13:36:48 -08:00
parent 591a3b383a
commit fa16e1dab7
2 changed files with 7 additions and 3 deletions

View File

@ -0,0 +1,5 @@
w = (function() { yield })();
w.next();
for (var i = 0; i < 100; ++i) {
for (v in w) {}
}

View File

@ -14502,12 +14502,11 @@ TraceRecorder::record_JSOP_MOREITER()
LIns* vp_ins = w.allocp(sizeof(Value));
LIns* args[] = { vp_ins, iterobj_ins, cx_ins };
LIns* ok_ins = w.call(&IteratorMore_ci, args);
pendingGuardCondition = w.call(&IteratorMore_ci, args);
pendingGuardCondition = w.eqi0(ok_ins);
leaveDeepBailCall();
cond_ins = w.eqi0(w.eqi0(is_boxed_true(AllocSlotsAddress(vp_ins))));
cond_ins = is_boxed_true(AllocSlotsAddress(vp_ins));
}
stack(0, cond_ins);