Index: src/snapshot/serialize.cc |
diff --git a/src/snapshot/serialize.cc b/src/snapshot/serialize.cc |
index 7410c3b393c1a931d991f7f0d1304a75e430e022..a8d0f51b92ff4e93958528e6ef15dfb9c0e0e94b 100644 |
--- a/src/snapshot/serialize.cc |
+++ b/src/snapshot/serialize.cc |
@@ -1875,6 +1875,10 @@ void Serializer::ObjectSerializer::Serialize() { |
// Clear cached line ends. |
Object* undefined = serializer_->isolate()->heap()->undefined_value(); |
Script::cast(object_)->set_line_ends(undefined); |
+ Object* shared_list = Script::cast(object_)->shared_function_infos(); |
+ if (shared_list->IsWeakFixedArray()) { |
+ WeakFixedArray::cast(shared_list)->Compact(); |
+ } |
} |
if (object_->IsExternalString()) { |
@@ -2295,7 +2299,7 @@ void CodeSerializer::SerializeObject(HeapObject* obj, HowToCode how_to_code, |
DCHECK(code_object->has_reloc_info_for_serialization()); |
// Only serialize the code for the toplevel function unless specified |
// by flag. Replace code of inner functions by the lazy compile builtin. |
- // This is safe, as checked in Compiler::BuildFunctionInfo. |
+ // This is safe, as checked in Compiler::GetSharedFunctionInfo. |
if (code_object != main_code_ && !FLAG_serialize_inner) { |
SerializeBuiltin(Builtins::kCompileLazy, how_to_code, where_to_point); |
} else { |