| Index: src/arm/codegen-arm.cc
|
| diff --git a/src/arm/codegen-arm.cc b/src/arm/codegen-arm.cc
|
| index 5e8739cd6a5d89ff47e5213f68bb0e150ade3675..3f1791c394efd50fcf7a15b56215182d9b8ae3ac 100644
|
| --- a/src/arm/codegen-arm.cc
|
| +++ b/src/arm/codegen-arm.cc
|
| @@ -193,27 +193,10 @@ void ElementsTransitionGenerator::GenerateSmiToDouble(
|
| // Allocate new FixedDoubleArray.
|
| // Use lr as a temporary register.
|
| __ mov(lr, Operand(r5, LSL, 2));
|
| - __ add(lr, lr, Operand(FixedDoubleArray::kHeaderSize + kPointerSize));
|
| - __ AllocateInNewSpace(lr, r6, r7, r9, &gc_required, NO_ALLOCATION_FLAGS);
|
| + __ add(lr, lr, Operand(FixedDoubleArray::kHeaderSize));
|
| + __ AllocateInNewSpace(lr, r6, r7, r9, &gc_required, DOUBLE_ALIGNMENT);
|
| // r6: destination FixedDoubleArray, not tagged as heap object.
|
|
|
| - // Align the array conveniently for doubles.
|
| - // Store a filler value in the unused memory.
|
| - Label aligned, aligned_done;
|
| - __ tst(r6, Operand(kDoubleAlignmentMask));
|
| - __ mov(ip, Operand(masm->isolate()->factory()->one_pointer_filler_map()));
|
| - __ b(eq, &aligned);
|
| - // Store at the beginning of the allocated memory and update the base pointer.
|
| - __ str(ip, MemOperand(r6, kPointerSize, PostIndex));
|
| - __ b(&aligned_done);
|
| -
|
| - __ bind(&aligned);
|
| - // Store the filler at the end of the allocated memory.
|
| - __ sub(lr, lr, Operand(kPointerSize));
|
| - __ str(ip, MemOperand(r6, lr));
|
| -
|
| - __ bind(&aligned_done);
|
| -
|
| // Set destination FixedDoubleArray's length and map.
|
| __ LoadRoot(r9, Heap::kFixedDoubleArrayMapRootIndex);
|
| __ str(r5, MemOperand(r6, FixedDoubleArray::kLengthOffset));
|
|
|