| Index: src/x64/lithium-codegen-x64.cc
|
| diff --git a/src/x64/lithium-codegen-x64.cc b/src/x64/lithium-codegen-x64.cc
|
| index 77cb75dbf243586beab9b83f9d5a142cced922e8..a19fcec3b91ae03254b2c764c93cdd16acb99628 100644
|
| --- a/src/x64/lithium-codegen-x64.cc
|
| +++ b/src/x64/lithium-codegen-x64.cc
|
| @@ -4401,7 +4401,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();
|
|
|
| @@ -4422,12 +4422,11 @@ void LCodeGen::DoArrayLiteral(LArrayLiteral* instr) {
|
| }
|
|
|
| // Set up the parameters to the stub/runtime call.
|
| - __ movq(rax, Operand(rbp, JavaScriptFrameConstants::kFunctionOffset));
|
| - __ push(FieldOperand(rax, JSFunction::kLiteralsOffset));
|
| + __ PushHeapObject(literals);
|
| __ Push(Smi::FromInt(instr->hydrogen()->literal_index()));
|
| // Boilerplate already exists, constant elements are never accessed.
|
| // Pass an empty fixed array.
|
| - __ Push(Handle<FixedArray>(heap->empty_fixed_array()));
|
| + __ Push(isolate()->factory()->empty_fixed_array());
|
|
|
| // Pick the right runtime function or stub to call.
|
| int length = instr->hydrogen()->length();
|
|
|