Reviewers: Jakob,

Message:
PTAL.

Description:
Fixed a bug in smi-only implementation in x64.


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

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

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


Index: src/x64/stub-cache-x64.cc
diff --git a/src/x64/stub-cache-x64.cc b/src/x64/stub-cache-x64.cc
index 3819c1d40ad8737f61670f9f8234e9c4525527c4..63d45ef074abb64528893d8c6788aad15238cafd 100644
--- a/src/x64/stub-cache-x64.cc
+++ b/src/x64/stub-cache-x64.cc
@@ -3722,13 +3722,14 @@ void KeyedStoreStubCompiler::GenerateStoreFastElement(
   }

   // Do the store and update the write barrier.
-  __ SmiToInteger32(rcx, rcx);
   if (elements_kind == FAST_SMI_ONLY_ELEMENTS) {
     __ JumpIfNotSmi(rax, &miss_force_generic);
+    __ SmiToInteger32(rcx, rcx);
__ movq(FieldOperand(rdi, rcx, times_pointer_size, FixedArray::kHeaderSize),
             rax);
   } else {
     ASSERT(elements_kind == FAST_ELEMENTS);
+    __ SmiToInteger32(rcx, rcx);
     __ lea(rcx,
FieldOperand(rdi, rcx, times_pointer_size, FixedArray::kHeaderSize));
     __ movq(Operand(rcx, 0), rax);


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

Reply via email to