| Index: src/arm/stub-cache-arm.cc
|
| diff --git a/src/arm/stub-cache-arm.cc b/src/arm/stub-cache-arm.cc
|
| index db681936b891f32c79119dac51e83215593e474b..c762a2f579b0c266371043cbae6d3683a5eb6dbc 100644
|
| --- a/src/arm/stub-cache-arm.cc
|
| +++ b/src/arm/stub-cache-arm.cc
|
| @@ -3577,8 +3577,21 @@ void KeyedLoadStubCompiler::GenerateLoadExternalArray(
|
| __ vstr(d0, r3, HeapNumber::kValueOffset);
|
| __ Ret();
|
| } else {
|
| - WriteInt32ToHeapNumberStub stub(value, r0, r3);
|
| - __ TailCallStub(&stub);
|
| + Register dst1 = r1;
|
| + Register dst2 = r3;
|
| + FloatingPointHelper::Destination dest =
|
| + FloatingPointHelper::kCoreRegisters;
|
| + FloatingPointHelper::ConvertIntToDouble(masm,
|
| + value,
|
| + dest,
|
| + d0,
|
| + dst1,
|
| + dst2,
|
| + r9,
|
| + s0);
|
| + __ str(dst1, FieldMemOperand(r0, HeapNumber::kMantissaOffset));
|
| + __ str(dst2, FieldMemOperand(r0, HeapNumber::kExponentOffset));
|
| + __ Ret();
|
| }
|
| } else if (array_type == kExternalUnsignedIntArray) {
|
| // The test is different for unsigned int values. Since we need
|
|
|