Bug 541030 - nanojit: isconstq() should only succeed for 64-bit integer (TM-specific part). r=dvander.

This commit is contained in:
Nicholas Nethercote 2010-03-28 18:02:40 -07:00
parent 22018b88a0
commit 475f3125a3

View File

@ -8366,7 +8366,7 @@ TraceRecorder::tableswitch()
/* No need to guard if the condition is constant. */ /* No need to guard if the condition is constant. */
LIns* v_ins = f2i(get(&v)); LIns* v_ins = f2i(get(&v));
if (v_ins->isconst() || v_ins->isconstq()) if (v_ins->isconst())
return ARECORD_CONTINUE; return ARECORD_CONTINUE;
jsbytecode* pc = cx->fp->regs->pc; jsbytecode* pc = cx->fp->regs->pc;
@ -8428,7 +8428,7 @@ TraceRecorder::switchop()
LIns* v_ins = get(&v); LIns* v_ins = get(&v);
/* No need to guard if the condition is constant. */ /* No need to guard if the condition is constant. */
if (v_ins->isconst() || v_ins->isconstq()) if (v_ins->isImmAny())
return RECORD_CONTINUE; return RECORD_CONTINUE;
if (isNumber(v)) { if (isNumber(v)) {
jsdouble d = asNumber(v); jsdouble d = asNumber(v);