| Index: src/serialize.h
|
| diff --git a/src/serialize.h b/src/serialize.h
|
| index 5dc73745baab1d08cea857372b94a5bc8e7644a5..499acde1a395895252d258048f822b96c822c578 100644
|
| --- a/src/serialize.h
|
| +++ b/src/serialize.h
|
| @@ -518,12 +518,12 @@ class Deserializer: public SerializerDeserializer {
|
| // Deserialize the snapshot into an empty heap.
|
| void Deserialize(Isolate* isolate);
|
|
|
| - enum OnOOM { FATAL_ON_OOM, NULL_ON_OOM };
|
| -
|
| // Deserialize a single object and the objects reachable from it.
|
| // We may want to abort gracefully even if deserialization fails.
|
| - void DeserializePartial(Isolate* isolate, Object** root,
|
| - OnOOM on_oom = FATAL_ON_OOM);
|
| + MaybeHandle<Object> DeserializePartial(
|
| + Isolate* isolate, Handle<FixedArray>* outdated_contexts_out);
|
| +
|
| + MaybeHandle<SharedFunctionInfo> DeserializeCode(Isolate* isolate);
|
|
|
| void FlushICacheForNewCodeObjects();
|
|
|
| @@ -542,6 +542,8 @@ class Deserializer: public SerializerDeserializer {
|
| UNREACHABLE();
|
| }
|
|
|
| + void Initialize(Isolate* isolate);
|
| +
|
| void DecodeReservation(Vector<const SerializedData::Reservation> res);
|
|
|
| bool ReserveSpace();
|
| @@ -738,11 +740,12 @@ class Serializer : public SerializerDeserializer {
|
|
|
| class PartialSerializer : public Serializer {
|
| public:
|
| - PartialSerializer(Isolate* isolate,
|
| - Serializer* startup_snapshot_serializer,
|
| + PartialSerializer(Isolate* isolate, Serializer* startup_snapshot_serializer,
|
| SnapshotByteSink* sink)
|
| - : Serializer(isolate, sink),
|
| - startup_serializer_(startup_snapshot_serializer) {
|
| + : Serializer(isolate, sink),
|
| + startup_serializer_(startup_snapshot_serializer),
|
| + outdated_contexts_(0),
|
| + global_object_(NULL) {
|
| InitializeCodeAddressMap();
|
| }
|
|
|
| @@ -766,8 +769,11 @@ class PartialSerializer : public Serializer {
|
| startup_serializer_->isolate()->heap()->fixed_cow_array_map();
|
| }
|
|
|
| + void SerializeOutdatedContextsAsFixedArray();
|
|
|
| Serializer* startup_serializer_;
|
| + List<BackReference> outdated_contexts_;
|
| + Object* global_object_;
|
| DISALLOW_COPY_AND_ASSIGN(PartialSerializer);
|
| };
|
|
|
|
|