Fix the build on x64 and ARM.
authordanno@chromium.org <danno@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Wed, 13 Jul 2011 16:51:30 +0000 (16:51 +0000)
committerdanno@chromium.org <danno@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Wed, 13 Jul 2011 16:51:30 +0000 (16:51 +0000)
BUG=none
TEST=bot greeness

Review URL: http://codereview.chromium.org/7357002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8647 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

src/arm/stub-cache-arm.cc
src/x64/stub-cache-x64.cc

index 2ca9c6b..c2665f8 100644 (file)
@@ -4380,8 +4380,10 @@ void KeyedStoreStubCompiler::GenerateStoreFastDoubleElement(
   __ 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);
index aea2ed8..d4f9d7c 100644 (file)
@@ -3748,7 +3748,8 @@ void KeyedStoreStubCompiler::GenerateStoreFastDoubleElement(
   // 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);