V8 API Reference, 7.2.502.16 (for Deno 0.2.4)
read-only-deserializer.h
1 // Copyright 2018 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #ifndef V8_SNAPSHOT_READ_ONLY_DESERIALIZER_H_
6 #define V8_SNAPSHOT_READ_ONLY_DESERIALIZER_H_
7 
8 #include "src/snapshot/deserializer.h"
9 #include "src/snapshot/snapshot.h"
10 
11 namespace v8 {
12 namespace internal {
13 
14 // Deserializes the read-only blob, creating the read-only roots and the
15 // Read-only object cache used by the other deserializers.
16 class ReadOnlyDeserializer final : public Deserializer {
17  public:
18  explicit ReadOnlyDeserializer(const SnapshotData* data)
19  : Deserializer(data, false) {}
20 
21  // Deserialize the snapshot into an empty heap.
22  void DeserializeInto(Isolate* isolate);
23 
24  private:
25  friend class StartupDeserializer;
26 
27  // Rehash after deserializing.
28  void RehashHeap();
29 };
30 
31 } // namespace internal
32 } // namespace v8
33 
34 #endif // V8_SNAPSHOT_READ_ONLY_DESERIALIZER_H_
Definition: libplatform.h:13