| Index: src/arm/lithium-codegen-arm.cc
|
| diff --git a/src/arm/lithium-codegen-arm.cc b/src/arm/lithium-codegen-arm.cc
|
| index a61e4c0c5144e21f6f062b550f142ead8caa88e4..e0633d5420bcd6b35041a20e14c8aa876853c9af 100644
|
| --- a/src/arm/lithium-codegen-arm.cc
|
| +++ b/src/arm/lithium-codegen-arm.cc
|
| @@ -4754,7 +4754,7 @@ void LCodeGen::DoDeferredAllocateObject(LAllocateObject* instr) {
|
|
|
|
|
| void LCodeGen::DoArrayLiteral(LArrayLiteral* instr) {
|
| - Heap* heap = isolate()->heap();
|
| + Handle<FixedArray> literals(instr->environment()->closure()->literals());
|
| ElementsKind boilerplate_elements_kind =
|
| instr->hydrogen()->boilerplate_elements_kind();
|
|
|
| @@ -4774,12 +4774,12 @@ void LCodeGen::DoArrayLiteral(LArrayLiteral* instr) {
|
| DeoptimizeIf(ne, instr->environment());
|
| }
|
|
|
| - __ ldr(r3, MemOperand(fp, JavaScriptFrameConstants::kFunctionOffset));
|
| - __ ldr(r3, FieldMemOperand(r3, JSFunction::kLiteralsOffset));
|
| + // Set up the parameters to the stub/runtime call.
|
| + __ LoadHeapObject(r3, literals);
|
| __ mov(r2, Operand(Smi::FromInt(instr->hydrogen()->literal_index())));
|
| // Boilerplate already exists, constant elements are never accessed.
|
| // Pass an empty fixed array.
|
| - __ mov(r1, Operand(Handle<FixedArray>(heap->empty_fixed_array())));
|
| + __ mov(r1, Operand(isolate()->factory()->empty_fixed_array()));
|
| __ Push(r3, r2, r1);
|
|
|
| // Pick the right runtime function or stub to call.
|
|
|