Bug 611724 - Assertion failure in TraceRecorder::emitIf(). r=dvander.
authorNicholas Nethercote <nnethercote@mozilla.com>
Tue, 16 Nov 2010 15:36:14 -0800
changeset 57832 3c580750fa3863fe0035ad57405f0b0b7058e8ba
parent 57831 364f6695617032d53c189db4532d77b552329f27
child 57833 7b8898c9b54c0471a02bcf1e65b9b02149665dd5
push id1
push usershaver@mozilla.com
push dateTue, 04 Jan 2011 17:58:04 +0000
reviewersdvander
bugs611724
milestone2.0b8pre
Bug 611724 - Assertion failure in TraceRecorder::emitIf(). r=dvander.
js/src/jstracer.cpp
--- a/js/src/jstracer.cpp
+++ b/js/src/jstracer.cpp
@@ -14282,17 +14282,17 @@ TraceRecorder::record_JSOP_MOREITER()
         JSContext *localCx = cx;
         AutoValueRooter rooter(cx);
         if (!js_IteratorMore(cx, iterobj, rooter.addr()))
             RETURN_ERROR_A("error in js_IteratorMore");
         if (!TRACE_RECORDER(localCx))
             return ARECORD_ABORTED;
 
         cond = (rooter.value().isTrue());
-        cond_ins = is_boxed_true(AllocSlotsAddress(vp_ins));
+        cond_ins = w.eqi0(w.eqi0(is_boxed_true(AllocSlotsAddress(vp_ins))));
     }
 
     jsbytecode* pc = cx->regs->pc;
 
     if (pc[1] == JSOP_IFNE) {
         fuseIf(pc + 1, cond, cond_ins);
         return checkTraceEnd(pc + 1);
     }