Revision: 19175
Author:   [email protected]
Date:     Fri Feb  7 00:55:04 2014 UTC
Log: MIPS: Avoid embedding x86 NaN constant in MacroAssembler code when snapshot is created.

BUG=
TEST=test262/15.4.4.15-8-b-ii-4
[email protected]

Review URL: https://codereview.chromium.org/156803003

Patch from Balazs Kilvady <[email protected]>.
http://code.google.com/p/v8/source/detail?r=19175

Modified:
 /branches/bleeding_edge/src/mips/macro-assembler-mips.cc

=======================================
--- /branches/bleeding_edge/src/mips/macro-assembler-mips.cc Thu Feb 6 01:10:06 2014 UTC +++ /branches/bleeding_edge/src/mips/macro-assembler-mips.cc Fri Feb 7 00:55:04 2014 UTC
@@ -3439,10 +3439,9 @@
   Branch(&have_double_value, eq, mantissa_reg, Operand(zero_reg));
   bind(&is_nan);
   // Load canonical NaN for storing into the double array.
-  uint64_t nan_int64 = BitCast<uint64_t>(
-      FixedDoubleArray::canonical_not_the_hole_nan_as_double());
-  li(mantissa_reg, Operand(static_cast<uint32_t>(nan_int64)));
-  li(exponent_reg, Operand(static_cast<uint32_t>(nan_int64 >> 32)));
+  LoadRoot(at, Heap::kNanValueRootIndex);
+  lw(mantissa_reg, FieldMemOperand(at, HeapNumber::kValueOffset));
+  lw(exponent_reg, FieldMemOperand(at, HeapNumber::kValueOffset + 4));
   jmp(&have_double_value);

   bind(&smi_value);

--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to