__ b(eq, &have_double_value);
__ bind(&is_nan);
// Load canonical NaN for storing into the double array.
- __ mov(mantissa_reg, Operand(kCanonicalNonHoleNanLower32));
- __ mov(exponent_reg, Operand(kCanonicalNonHoleNanUpper32));
+ uint64_t nan_int64 = BitCast<uint64_t>(
+ FixedDoubleArray::canonical_not_the_hole_nan_as_double());
+ __ mov(mantissa_reg, Operand(static_cast<uint32_t>(nan_int64)));
+ __ mov(exponent_reg, Operand(static_cast<uint32_t>(nan_int64 >> 32)));
__ jmp(&have_double_value);
__ bind(&smi_value);
// the double array.
ExternalReference canonical_nan_reference =
ExternalReference::address_of_canonical_non_hole_nan();
- __ Set(kScratchRegister, kCanonicalNonHoleNanInt64);
+ __ Set(kScratchRegister, BitCast<uint64_t>(
+ FixedDoubleArray::canonical_not_the_hole_nan_as_double()));
__ movq(xmm0, kScratchRegister);
__ jmp(&have_double_value, Label::kNear);