| Index: src/snapshot/serialize.h
|
| diff --git a/src/snapshot/serialize.h b/src/snapshot/serialize.h
|
| index 72d265b0cca0fcac5f64ff80b58af623c4a8041c..f7420efea9dae2430c5497509e52f30def8fe773 100644
|
| --- a/src/snapshot/serialize.h
|
| +++ b/src/snapshot/serialize.h
|
| @@ -383,6 +383,8 @@ class Deserializer: public SerializerDeserializer {
|
| private:
|
| void VisitPointers(Object** start, Object** end) override;
|
|
|
| + void Synchronize(VisitorSynchronization::SyncTag tag) override;
|
| +
|
| void VisitRuntimeEntry(RelocInfo* rinfo) override { UNREACHABLE(); }
|
|
|
| void Initialize(Isolate* isolate);
|
| @@ -471,7 +473,6 @@ class Serializer : public SerializerDeserializer {
|
| public:
|
| Serializer(Isolate* isolate, SnapshotByteSink* sink);
|
| ~Serializer() override;
|
| - void VisitPointers(Object** start, Object** end) override;
|
|
|
| void EncodeReservations(List<SerializedData::Reservation>* out) const;
|
|
|
| @@ -578,6 +579,8 @@ class Serializer : public SerializerDeserializer {
|
| friend class SnapshotData;
|
|
|
| private:
|
| + void VisitPointers(Object** start, Object** end) override;
|
| +
|
| CodeAddressMap* code_address_map_;
|
| // Objects from the same space are put into chunks for bulk-allocation
|
| // when deserializing. We have to make sure that each chunk fits into a
|
| @@ -620,10 +623,11 @@ class PartialSerializer : public Serializer {
|
|
|
| // Serialize the objects reachable from a single object pointer.
|
| void Serialize(Object** o);
|
| +
|
| + private:
|
| void SerializeObject(HeapObject* o, HowToCode how_to_code,
|
| WhereToPoint where_to_point, int skip) override;
|
|
|
| - private:
|
| int PartialSnapshotCacheIndex(HeapObject* o);
|
| bool ShouldBeInThePartialSnapshotCache(HeapObject* o);
|
|
|
| @@ -639,22 +643,21 @@ class StartupSerializer : public Serializer {
|
| StartupSerializer(Isolate* isolate, SnapshotByteSink* sink);
|
| ~StartupSerializer() override { OutputStatistics("StartupSerializer"); }
|
|
|
| - // The StartupSerializer has to serialize the root array, which is slightly
|
| - // different.
|
| - void VisitPointers(Object** start, Object** end) override;
|
| -
|
| // Serialize the current state of the heap. The order is:
|
| // 1) Strong references.
|
| // 2) Partial snapshot cache.
|
| // 3) Weak references (e.g. the string table).
|
| - virtual void SerializeStrongReferences();
|
| - void SerializeObject(HeapObject* o, HowToCode how_to_code,
|
| - WhereToPoint where_to_point, int skip) override;
|
| + void SerializeStrongReferences();
|
| void SerializeWeakReferencesAndDeferred();
|
|
|
| + private:
|
| + // The StartupSerializer has to serialize the root array, which is slightly
|
| + // different.
|
| + void VisitPointers(Object** start, Object** end) override;
|
| + void SerializeObject(HeapObject* o, HowToCode how_to_code,
|
| + WhereToPoint where_to_point, int skip) override;
|
| void Synchronize(VisitorSynchronization::SyncTag tag) override;
|
|
|
| - private:
|
| intptr_t root_index_wave_front_;
|
| bool serializing_builtins_;
|
| DISALLOW_COPY_AND_ASSIGN(StartupSerializer);
|
|
|