Index: src/ia32/stub-cache-ia32.cc |
diff --git a/src/ia32/stub-cache-ia32.cc b/src/ia32/stub-cache-ia32.cc |
index c3a2654466e6aca519e922c1be9d1c53f0157d5b..c8695c572c8c6d8b4167c06f06cd5ae79c3547c5 100644 |
--- a/src/ia32/stub-cache-ia32.cc |
+++ b/src/ia32/stub-cache-ia32.cc |
@@ -4359,6 +4359,9 @@ void KeyedStoreStubCompiler::GenerateStoreFastDoubleElement( |
__ mov(FieldOperand(edi, FixedDoubleArray::kLengthOffset), |
Immediate(Smi::FromInt(JSArray::kPreallocatedArrayElements))); |
+ __ StoreNumberToDoubleElements(eax, edi, ecx, ebx, xmm0, |
+ &transition_elements_kind, true); |
+ |
for (int i = 1; i < JSArray::kPreallocatedArrayElements; i++) { |
int offset = FixedDoubleArray::OffsetOfElementAt(i); |
__ mov(FieldOperand(edi, offset), Immediate(kHoleNanLower32)); |
@@ -4366,9 +4369,6 @@ void KeyedStoreStubCompiler::GenerateStoreFastDoubleElement( |
Immediate(kHoleNanUpper32)); |
} |
- __ StoreNumberToDoubleElements(eax, edi, ecx, ebx, xmm0, |
- &transition_elements_kind, true); |
- |
// Install the new backing store in the JSArray. |
__ mov(FieldOperand(edx, JSObject::kElementsOffset), edi); |
__ RecordWriteField(edx, JSObject::kElementsOffset, edi, ebx, |