Index: src/arm/stub-cache-arm.cc |
=================================================================== |
--- src/arm/stub-cache-arm.cc (revision 8772) |
+++ src/arm/stub-cache-arm.cc (working copy) |
@@ -4399,11 +4399,18 @@ |
} else { |
destination = FloatingPointHelper::kCoreRegisters; |
} |
- __ SmiUntag(value_reg, value_reg); |
+ |
+ Register untagged_value = receiver_reg; |
+ __ SmiUntag(untagged_value, value_reg); |
FloatingPointHelper::ConvertIntToDouble( |
- masm, value_reg, destination, |
- d0, mantissa_reg, exponent_reg, // These are: double_dst, dst1, dst2. |
- scratch4, s2); // These are: scratch2, single_scratch. |
+ masm, |
+ untagged_value, |
+ destination, |
+ d0, |
+ mantissa_reg, |
+ exponent_reg, |
+ scratch4, |
+ s2); |
if (destination == FloatingPointHelper::kVFPRegisters) { |
CpuFeatures::Scope scope(VFP3); |
__ vstr(d0, scratch, 0); |