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); |