V8 API Reference, 7.2.502.16 (for Deno 0.2.4)
startup-deserializer.h
1 // Copyright 2017 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_STARTUP_DESERIALIZER_H_
6 #define V8_SNAPSHOT_STARTUP_DESERIALIZER_H_
7 
8 #include "src/snapshot/deserializer.h"
9 #include "src/snapshot/snapshot.h"
10 
11 namespace v8 {
12 namespace internal {
13 
14 // Initializes an isolate with context-independent data from a given snapshot.
15 class StartupDeserializer final : public Deserializer {
16  public:
17  StartupDeserializer(const SnapshotData* startup_data,
18  const SnapshotData* read_only_data)
19  : Deserializer(startup_data, false), read_only_data_(read_only_data) {}
20 
21  // Deserialize the snapshot into an empty heap.
22  void DeserializeInto(Isolate* isolate);
23 
24  private:
25  void FlushICache();
26  void LogNewMapEvents();
27 
28  const SnapshotData* read_only_data_;
29 };
30 
31 } // namespace internal
32 } // namespace v8
33 
34 #endif // V8_SNAPSHOT_STARTUP_DESERIALIZER_H_
Definition: libplatform.h:13