[JAEGER] Sync both halves of constant undefined payloads (bug 586544).

--HG--
extra : rebase_source : f9643a32b74b5b7a91950815ac1a1419015705ca
This commit is contained in:
David Anderson 2010-08-12 11:39:22 -07:00
parent 0f9af001af
commit 0bbf7a68b3
3 changed files with 1 additions and 6 deletions

View File

@ -1102,8 +1102,6 @@ StrictlyEqual(JSContext *cx, const Value &lref, const Value &rref)
return JSDOUBLE_COMPARE(lval.toDouble(), ==, rval.toDouble(), JS_FALSE);
if (lval.isObject())
return EqualObjects(cx, &lval.toObject(), &rval.toObject());
if (lval.isUndefined())
return true;
return lval.payloadAsRawUint32() == rval.payloadAsRawUint32();
}

View File

@ -160,8 +160,7 @@ class Assembler : public BaseAssembler
jv.asBits = JSVAL_BITS(Jsvalify(v));
store32(ImmTag(jv.s.tag), tagOf(address));
if (!v.isUndefined())
store32(Imm32(jv.s.payload.u32), payloadOf(address));
store32(Imm32(jv.s.payload.u32), payloadOf(address));
}
void storeValue(const Value &v, BaseIndex address) {

View File

@ -1099,8 +1099,6 @@ StubEqualityOp(VMFrame &f)
} else {
cond = (l == r) == EQ;
}
} else if (lval.isNullOrUndefined()) {
cond = EQ;
} else {
cond = (lval.payloadAsRawUint32() == rval.payloadAsRawUint32()) == EQ;
}