| Index: src/arm/stub-cache-arm.cc
|
| diff --git a/src/arm/stub-cache-arm.cc b/src/arm/stub-cache-arm.cc
|
| index 8ceac49f6b394ab75d498a4b95cbfcc4cd5a9da5..6eb6cbad74c5bab046ca73a9d4c7f4df9ee641ba 100644
|
| --- a/src/arm/stub-cache-arm.cc
|
| +++ b/src/arm/stub-cache-arm.cc
|
| @@ -4422,11 +4422,18 @@ void KeyedStoreStubCompiler::GenerateStoreFastDoubleElement(
|
| } 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);
|
|
|