Index: src/mips/lithium-codegen-mips.cc |
diff --git a/src/mips/lithium-codegen-mips.cc b/src/mips/lithium-codegen-mips.cc |
index 95a1e05d1e67bdda228f381f572c1ab10469f44f..ff02062b04a118894424db1911135ff1fc04795e 100644 |
--- a/src/mips/lithium-codegen-mips.cc |
+++ b/src/mips/lithium-codegen-mips.cc |
@@ -5402,7 +5402,6 @@ void LCodeGen::DoArrayLiteral(LArrayLiteral* instr) { |
// Boilerplate already exists, constant elements are never accessed. |
// Pass an empty fixed array. |
__ li(a1, Operand(isolate()->factory()->empty_fixed_array())); |
- __ Push(a3, a2, a1); |
// Pick the right runtime function or stub to call. |
int length = instr->hydrogen()->length(); |
@@ -5413,8 +5412,10 @@ void LCodeGen::DoArrayLiteral(LArrayLiteral* instr) { |
FastCloneShallowArrayStub stub(mode, DONT_TRACK_ALLOCATION_SITE, length); |
CallCode(stub.GetCode(isolate()), RelocInfo::CODE_TARGET, instr); |
} else if (instr->hydrogen()->depth() > 1) { |
+ __ Push(a3, a2, a1); |
CallRuntime(Runtime::kCreateArrayLiteral, 3, instr); |
} else if (length > FastCloneShallowArrayStub::kMaximumClonedLength) { |
+ __ Push(a3, a2, a1); |
CallRuntime(Runtime::kCreateArrayLiteralShallow, 3, instr); |
} else { |
FastCloneShallowArrayStub::Mode mode = |