Index: src/x64/full-codegen-x64.cc |
diff --git a/src/x64/full-codegen-x64.cc b/src/x64/full-codegen-x64.cc |
index 97c9c5cdebc0ef9b35bd9293a7f49ec090491a11..a031a59eae531f2bd6b606c292eb433824add4de 100644 |
--- a/src/x64/full-codegen-x64.cc |
+++ b/src/x64/full-codegen-x64.cc |
@@ -1776,7 +1776,7 @@ void FullCodeGenerator::VisitArrayLiteral(ArrayLiteral* expr) { |
allocation_site_mode = DONT_TRACK_ALLOCATION_SITE; |
} |
- if (expr->depth() > 1) { |
+ if (expr->depth() > 1 || length > JSObject::kInitialMaxFastElementArray) { |
__ movp(rbx, Operand(rbp, JavaScriptFrameConstants::kFunctionOffset)); |
__ Push(FieldOperand(rbx, JSFunction::kLiteralsOffset)); |
__ Push(Smi::FromInt(expr->literal_index())); |