Change-Id: I02e3cdd5f9a68fbf6bfd7805c385d807b344155b
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
{
if (V4IR::Const *c = e->asConst()) {
#if QT_POINTER_SIZE == 8
- load64(constantTable().loadValueAddress(c, ScratchRegister), ReturnValueRegister);
- move(TrustedImm64(QV4::Value::NaNEncodeMask), ScratchRegister);
- xor64(ScratchRegister, ReturnValueRegister);
+ union {
+ double d;
+ int64_t i;
+ } u;
+ u.d = c->value;
+ move(TrustedImm64(u.i), ReturnValueRegister);
move64ToDouble(ReturnValueRegister, target);
#else
JSC::MacroAssembler::loadDouble(constantTable().loadValueAddress(c, ScratchRegister), target);