| Index: src/ia32/lithium-codegen-ia32.cc
|
| diff --git a/src/ia32/lithium-codegen-ia32.cc b/src/ia32/lithium-codegen-ia32.cc
|
| index 9cc67a308af2584cdce9d649b8fb02294f68b829..48cd780c6a43ec3a4ebb57f0fc4a54663d8896ac 100644
|
| --- a/src/ia32/lithium-codegen-ia32.cc
|
| +++ b/src/ia32/lithium-codegen-ia32.cc
|
| @@ -4685,7 +4685,7 @@ void LCodeGen::DoDeferredAllocateObject(LAllocateObject* instr) {
|
|
|
| void LCodeGen::DoArrayLiteral(LArrayLiteral* instr) {
|
| ASSERT(ToRegister(instr->context()).is(esi));
|
| - Heap* heap = isolate()->heap();
|
| + Handle<FixedArray> literals(instr->environment()->closure()->literals());
|
| ElementsKind boilerplate_elements_kind =
|
| instr->hydrogen()->boilerplate_elements_kind();
|
|
|
| @@ -4706,12 +4706,11 @@ void LCodeGen::DoArrayLiteral(LArrayLiteral* instr) {
|
| }
|
|
|
| // Set up the parameters to the stub/runtime call.
|
| - __ mov(eax, Operand(ebp, JavaScriptFrameConstants::kFunctionOffset));
|
| - __ push(FieldOperand(eax, JSFunction::kLiteralsOffset));
|
| + __ PushHeapObject(literals);
|
| __ push(Immediate(Smi::FromInt(instr->hydrogen()->literal_index())));
|
| // Boilerplate already exists, constant elements are never accessed.
|
| // Pass an empty fixed array.
|
| - __ push(Immediate(Handle<FixedArray>(heap->empty_fixed_array())));
|
| + __ push(Immediate(isolate()->factory()->empty_fixed_array()));
|
|
|
| // Pick the right runtime function or stub to call.
|
| int length = instr->hydrogen()->length();
|
|
|