Index: src/full-codegen/x64/full-codegen-x64.cc |
diff --git a/src/full-codegen/x64/full-codegen-x64.cc b/src/full-codegen/x64/full-codegen-x64.cc |
index ac0d87991128a33ac820ddad1cb34eb7eab23820..c620e4863d0b81551d889560c7f270f653dfe0fb 100644 |
--- a/src/full-codegen/x64/full-codegen-x64.cc |
+++ b/src/full-codegen/x64/full-codegen-x64.cc |
@@ -4166,6 +4166,11 @@ void FullCodeGenerator::EmitFastOneByteArrayJoin(CallRuntime* expr) { |
__ j(overflow, &bailout); |
__ addl(string_length, scratch); |
__ j(overflow, &bailout); |
+ __ jmp(&bailout); |
+ |
+ // Bailout for large object allocations. |
+ __ cmpl(string_length, Immediate(Page::kMaxRegularHeapObjectSize)); |
+ __ j(greater, &bailout); |
// Live registers and stack values: |
// string_length: Total length of result string. |