Index: src/snapshot/serialize.cc |
diff --git a/src/snapshot/serialize.cc b/src/snapshot/serialize.cc |
index b7c7dc1dd1c012264705860fd832e087910fc67e..bf0a4eb347b26bd5468d7370b0cb1cde10f39a24 100644 |
--- a/src/snapshot/serialize.cc |
+++ b/src/snapshot/serialize.cc |
@@ -1779,6 +1779,13 @@ void Serializer::ObjectSerializer::Serialize() { |
// We cannot serialize typed array objects correctly. |
DCHECK(!object_->IsJSTypedArray()); |
+ if (object_->IsPrototypeInfo()) { |
+ Object* prototype_users = PrototypeInfo::cast(object_)->prototype_users(); |
+ if (prototype_users->IsWeakFixedArray()) { |
+ WeakFixedArray::cast(prototype_users)->Compact(); |
+ } |
+ } |
+ |
if (object_->IsScript()) { |
// Clear cached line ends. |
Object* undefined = serializer_->isolate()->heap()->undefined_value(); |