summaryrefslogtreecommitdiff
path: root/deps/v8/src/snapshot/read-only-serializer.cc
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/snapshot/read-only-serializer.cc')
-rw-r--r--deps/v8/src/snapshot/read-only-serializer.cc9
1 files changed, 3 insertions, 6 deletions
diff --git a/deps/v8/src/snapshot/read-only-serializer.cc b/deps/v8/src/snapshot/read-only-serializer.cc
index 9bc8f105d1..4b852c0656 100644
--- a/deps/v8/src/snapshot/read-only-serializer.cc
+++ b/deps/v8/src/snapshot/read-only-serializer.cc
@@ -86,12 +86,9 @@ bool ReadOnlySerializer::MustBeDeferred(HeapObject object) {
// be saved without problems.
return false;
}
- // Just defer everything except for Map objects until all required roots are
- // serialized. Some objects may have special alignment requirements, that may
- // not be fulfilled during deserialization until few first root objects are
- // serialized. But we must serialize Map objects since deserializer checks
- // that these root objects are indeed Maps.
- return !object.IsMap();
+ // Defer objects with special alignment requirements until the filler roots
+ // are serialized.
+ return HeapObject::RequiredAlignment(object.map()) != kWordAligned;
}
bool ReadOnlySerializer::SerializeUsingReadOnlyObjectCache(