Revision: 9451
Author:   [email protected]
Date:     Tue Sep 27 05:25:42 2011
Log:      Fixed a bug in smi-only implementation in x64.

Review URL: http://codereview.chromium.org/8060009
http://code.google.com/p/v8/source/detail?r=9451

Modified:
 /branches/bleeding_edge/src/x64/stub-cache-x64.cc

=======================================
--- /branches/bleeding_edge/src/x64/stub-cache-x64.cc Fri Sep 23 07:19:04 2011 +++ /branches/bleeding_edge/src/x64/stub-cache-x64.cc Tue Sep 27 05:25:42 2011
@@ -3722,13 +3722,14 @@
   }

   // 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