Reviewers: jkummerow,

Description:
Fix the build on x64 and ARM.

BUG=none
TEST=bot greeness


Please review this at http://codereview.chromium.org/7357002/

SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge

Affected files:
  M src/arm/stub-cache-arm.cc
  M src/x64/stub-cache-x64.cc


Index: src/arm/stub-cache-arm.cc
diff --git a/src/arm/stub-cache-arm.cc b/src/arm/stub-cache-arm.cc
index 2ca9c6b1c1fa305f1f8256ec5c8d6de9399e77a4..c2665f8853a7044907a82642a06cce4225ff7c9b 100644
--- a/src/arm/stub-cache-arm.cc
+++ b/src/arm/stub-cache-arm.cc
@@ -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: src/x64/stub-cache-x64.cc
diff --git a/src/x64/stub-cache-x64.cc b/src/x64/stub-cache-x64.cc
index aea2ed885f6931a7c68527cf28968cdf89f48591..d4f9d7c20635bef4ae26bd1ea43f696b206761a1 100644
--- a/src/x64/stub-cache-x64.cc
+++ b/src/x64/stub-cache-x64.cc
@@ -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);



--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to