Index: src/arm/full-codegen-arm.cc |
diff --git a/src/arm/full-codegen-arm.cc b/src/arm/full-codegen-arm.cc |
index b6fb70b5df0f5c86a621f6711c5f8a24e7f7be8d..751854591bd3bd0894d629d299def0de09adb691 100644 |
--- a/src/arm/full-codegen-arm.cc |
+++ b/src/arm/full-codegen-arm.cc |
@@ -1651,13 +1651,11 @@ void FullCodeGenerator::VisitObjectLiteral(ObjectLiteral* expr) { |
__ mov(r0, Operand(Smi::FromInt(flags))); |
int properties_count = constant_properties->length() / 2; |
if ((FLAG_track_double_fields && expr->may_store_doubles()) || |
- expr->depth() > 1) { |
- __ Push(r3, r2, r1, r0); |
- __ CallRuntime(Runtime::kCreateObjectLiteral, 4); |
- } else if (Serializer::enabled() || flags != ObjectLiteral::kFastElements || |
+ expr->depth() > 1 || Serializer::enabled() || |
+ flags != ObjectLiteral::kFastElements || |
properties_count > FastCloneShallowObjectStub::kMaximumClonedProperties) { |
__ Push(r3, r2, r1, r0); |
- __ CallRuntime(Runtime::kCreateObjectLiteralShallow, 4); |
+ __ CallRuntime(Runtime::kCreateObjectLiteral, 4); |
} else { |
FastCloneShallowObjectStub stub(properties_count); |
__ CallStub(&stub); |