| Index: src/arm/lithium-codegen-arm.cc
|
| diff --git a/src/arm/lithium-codegen-arm.cc b/src/arm/lithium-codegen-arm.cc
|
| index d12b229c381323ca0f80f417548b6e29e90e9403..dd3711576f1ef12d7f3a170dcb73cab9f84d0ca2 100644
|
| --- a/src/arm/lithium-codegen-arm.cc
|
| +++ b/src/arm/lithium-codegen-arm.cc
|
| @@ -4166,6 +4166,16 @@ void LCodeGen::DoCallRuntime(LCallRuntime* instr) {
|
| void LCodeGen::DoInnerAllocatedObject(LInnerAllocatedObject* instr) {
|
| Register result = ToRegister(instr->result());
|
| Register base = ToRegister(instr->base_object());
|
| + int offset = instr->offset();
|
| + if (instr->hydrogen()->MustAllocateDoubleAligned()) {
|
| + ASSERT(kPointerAlignment * 2 == kDoubleAlignment);
|
| + Label aligned;
|
| + Register scratch = scratch0();
|
| + __ and_(scratch, result, Operand(kDoubleAlignmentMask), SetCC);
|
| + __ b(eq, &aligned);
|
| + offset += kDoubleSize / 2;
|
| + __ bind(&aligned);
|
| + }
|
| __ add(result, base, Operand(instr->offset()));
|
| }
|
|
|
|
|