Bug 534313 - nanojit: split isQuad() into isI64() + isF64() + is64() (TM-specific part). r=dvander.

This commit is contained in:
Nicholas Nethercote 2010-01-25 08:50:38 +11:00
parent 402ef4a279
commit 126997f7d4

View File

@ -1711,8 +1711,8 @@ public:
} }
LIns *split(LIns *a) { LIns *split(LIns *a) {
if (a->isQuad() && !a->isop(LIR_qjoin)) { if (a->isF64() && !a->isop(LIR_qjoin)) {
// all quad-sized args must be qjoin's for soft-float // all F64 args must be qjoin's for soft-float
a = ins2(LIR_qjoin, lo(a), hi(a)); a = ins2(LIR_qjoin, lo(a), hi(a));
} }
return a; return a;
@ -4309,7 +4309,7 @@ TraceRecorder::guard(bool expected, LIns* cond, VMSideExit* exit)
if (!cond->isCond()) { if (!cond->isCond()) {
expected = !expected; expected = !expected;
cond = cond->isQuad() ? lir->ins_peq0(cond) : lir->ins_eq0(cond); cond = cond->isI32() ? lir->ins_eq0(cond) : lir->ins_peq0(cond);
} }
LIns* guardIns = LIns* guardIns =
@ -4628,7 +4628,7 @@ class SlotMap : public SlotVisitorBase
mRecorder.set(info.vp, mRecorder.f2i(mRecorder.get(info.vp))); mRecorder.set(info.vp, mRecorder.f2i(mRecorder.get(info.vp)));
} else if (info.lastCheck == TypeCheck_Demote) { } else if (info.lastCheck == TypeCheck_Demote) {
JS_ASSERT(info.type == TT_INT32 || info.type == TT_DOUBLE); JS_ASSERT(info.type == TT_INT32 || info.type == TT_DOUBLE);
JS_ASSERT(mRecorder.get(info.vp)->isQuad()); JS_ASSERT(mRecorder.get(info.vp)->isF64());
/* Never demote this final i2f. */ /* Never demote this final i2f. */
mRecorder.set(info.vp, mRecorder.get(info.vp), false, false); mRecorder.set(info.vp, mRecorder.get(info.vp), false, false);
@ -8463,7 +8463,7 @@ TraceRecorder::f2u(LIns* f)
JS_REQUIRES_STACK LIns* JS_REQUIRES_STACK LIns*
TraceRecorder::makeNumberInt32(LIns* f) TraceRecorder::makeNumberInt32(LIns* f)
{ {
JS_ASSERT(f->isQuad()); JS_ASSERT(f->isF64());
LIns* x; LIns* x;
if (!isPromote(f)) { if (!isPromote(f)) {
x = f2i(f); x = f2i(f);
@ -9622,7 +9622,7 @@ JS_REQUIRES_STACK LIns*
TraceRecorder::box_jsval(jsval v, LIns* v_ins) TraceRecorder::box_jsval(jsval v, LIns* v_ins)
{ {
if (isNumber(v)) { if (isNumber(v)) {
JS_ASSERT(v_ins->isQuad()); JS_ASSERT(v_ins->isF64());
if (fcallinfo(v_ins) == &js_UnboxDouble_ci) if (fcallinfo(v_ins) == &js_UnboxDouble_ci)
return fcallarg(v_ins, 0); return fcallarg(v_ins, 0);
if (isPromoteInt(v_ins)) { if (isPromoteInt(v_ins)) {