| Index: src/ia32/stub-cache-ia32.cc
|
| ===================================================================
|
| --- src/ia32/stub-cache-ia32.cc (revision 8772)
|
| +++ src/ia32/stub-cache-ia32.cc (working copy)
|
| @@ -3981,10 +3981,12 @@
|
|
|
| __ bind(&smi_value);
|
| // Value is a smi. convert to a double and store.
|
| - __ SmiUntag(eax);
|
| - __ push(eax);
|
| + // Preserve original value.
|
| + __ mov(edx, eax);
|
| + __ SmiUntag(edx);
|
| + __ push(edx);
|
| __ fild_s(Operand(esp, 0));
|
| - __ pop(eax);
|
| + __ pop(edx);
|
| __ fstp_d(FieldOperand(edi, ecx, times_4, FixedDoubleArray::kHeaderSize));
|
| __ ret(0);
|
|
|
|
|