v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
object-deserializer.h
Go to the documentation of this file.
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_OBJECT_DESERIALIZER_H_
6#define V8_SNAPSHOT_OBJECT_DESERIALIZER_H_
7
9
10namespace v8 {
11namespace internal {
12
13class SerializedCodeData;
14class SharedFunctionInfo;
15
16// Deserializes the object graph rooted at a given object.
17class ObjectDeserializer final : public Deserializer<Isolate> {
18 public:
20 Isolate* isolate, const SerializedCodeData* data,
22
23 private:
24 explicit ObjectDeserializer(Isolate* isolate, const SerializedCodeData* data);
25
26 // Deserialize an object graph. Fail gracefully.
28
31};
32
33// Deserializes the object graph rooted at a given object.
34class OffThreadObjectDeserializer final : public Deserializer<LocalIsolate> {
35 public:
37 LocalIsolate* isolate, const SerializedCodeData* data,
38 std::vector<IndirectHandle<Script>>* deserialized_scripts);
39
40 private:
42 const SerializedCodeData* data);
43
44 // Deserialize an object graph. Fail gracefully.
46 std::vector<IndirectHandle<Script>>* deserialized_scripts);
47};
48
49} // namespace internal
50} // namespace v8
51
52#endif // V8_SNAPSHOT_OBJECT_DESERIALIZER_H_
ObjectDeserializer(Isolate *isolate, const SerializedCodeData *data)
static MaybeDirectHandle< SharedFunctionInfo > DeserializeSharedFunctionInfo(Isolate *isolate, const SerializedCodeData *data, DirectHandle< String > source)
MaybeDirectHandle< HeapObject > Deserialize()
MaybeDirectHandle< HeapObject > Deserialize(std::vector< IndirectHandle< Script > > *deserialized_scripts)
OffThreadObjectDeserializer(LocalIsolate *isolate, const SerializedCodeData *data)
static MaybeDirectHandle< SharedFunctionInfo > DeserializeSharedFunctionInfo(LocalIsolate *isolate, const SerializedCodeData *data, std::vector< IndirectHandle< Script > > *deserialized_scripts)