v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
v8::internal::Serializer::ObjectSerializer Class Reference

#include <serializer.h>

Inheritance diagram for v8::internal::Serializer::ObjectSerializer:
Collaboration diagram for v8::internal::Serializer::ObjectSerializer:

Public Member Functions

 ObjectSerializer (Serializer *serializer, Handle< HeapObject > obj, SnapshotByteSink *sink)
 
 ~ObjectSerializer () override
 
void Serialize (SlotType slot_type)
 
void SerializeObject ()
 
void SerializeDeferred ()
 
void VisitPointers (Tagged< HeapObject > host, ObjectSlot start, ObjectSlot end) override
 
void VisitPointers (Tagged< HeapObject > host, MaybeObjectSlot start, MaybeObjectSlot end) override
 
void VisitInstructionStreamPointer (Tagged< Code > host, InstructionStreamSlot slot) override
 
void VisitEmbeddedPointer (Tagged< InstructionStream > host, RelocInfo *target) override
 
void VisitExternalReference (Tagged< InstructionStream > host, RelocInfo *rinfo) override
 
void VisitInternalReference (Tagged< InstructionStream > host, RelocInfo *rinfo) override
 
void VisitCodeTarget (Tagged< InstructionStream > host, RelocInfo *target) override
 
void VisitOffHeapTarget (Tagged< InstructionStream > host, RelocInfo *target) override
 
void VisitExternalPointer (Tagged< HeapObject > host, ExternalPointerSlot slot) override
 
void VisitIndirectPointer (Tagged< HeapObject > host, IndirectPointerSlot slot, IndirectPointerMode mode) override
 
void VisitTrustedPointerTableEntry (Tagged< HeapObject > host, IndirectPointerSlot slot) override
 
void VisitProtectedPointer (Tagged< TrustedObject > host, ProtectedPointerSlot slot) override
 
void VisitProtectedPointer (Tagged< TrustedObject > host, ProtectedMaybeObjectSlot slot) override
 
void VisitCppHeapPointer (Tagged< HeapObject > host, CppHeapPointerSlot slot) override
 
void VisitJSDispatchTableEntry (Tagged< HeapObject > host, JSDispatchHandle handle) override
 
Isolateisolate ()
 
- Public Member Functions inherited from v8::internal::ObjectVisitor
virtual ~ObjectVisitor ()=default
 
virtual void VisitCustomWeakPointers (Tagged< HeapObject > host, ObjectSlot start, ObjectSlot end)
 
virtual void VisitPointer (Tagged< HeapObject > host, ObjectSlot p)
 
virtual void VisitPointer (Tagged< HeapObject > host, MaybeObjectSlot p)
 
virtual void VisitCustomWeakPointer (Tagged< HeapObject > host, ObjectSlot p)
 
virtual void VisitEphemeron (Tagged< HeapObject > host, int index, ObjectSlot key, ObjectSlot value)
 
void VisitRelocInfo (Tagged< InstructionStream > host, RelocIterator *it)
 
virtual void VisitMapPointer (Tagged< HeapObject > host)
 

Private Member Functions

void SerializePrologue (SnapshotSpace space, int size, Tagged< Map > map)
 
void SerializeContent (Tagged< Map > map, int size)
 
void OutputExternalReference (Address target, int target_size, bool sandboxify, ExternalPointerTag tag)
 
void OutputRawData (Address up_to)
 
uint32_t SerializeBackingStore (void *backing_store, uint32_t byte_length, Maybe< uint32_t > max_byte_length)
 
void SerializeJSTypedArray ()
 
void SerializeJSArrayBuffer ()
 
void SerializeExternalString ()
 
void SerializeExternalStringAsSequentialString ()
 

Private Attributes

Isolateisolate_
 
Serializerserializer_
 
Handle< HeapObjectobject_
 
SnapshotByteSinksink_
 
int bytes_processed_so_far_
 

Detailed Description

Definition at line 455 of file serializer.h.

Constructor & Destructor Documentation

◆ ObjectSerializer()

v8::internal::Serializer::ObjectSerializer::ObjectSerializer ( Serializer * serializer,
Handle< HeapObject > obj,
SnapshotByteSink * sink )
inline

Definition at line 457 of file serializer.h.

◆ ~ObjectSerializer()

v8::internal::Serializer::ObjectSerializer::~ObjectSerializer ( )
inlineoverride

Definition at line 468 of file serializer.h.

Member Function Documentation

◆ isolate()

Isolate * v8::internal::Serializer::ObjectSerializer::isolate ( )
inline

Definition at line 508 of file serializer.h.

◆ OutputExternalReference()

void v8::internal::Serializer::ObjectSerializer::OutputExternalReference ( Address target,
int target_size,
bool sandboxify,
ExternalPointerTag tag )
private

Definition at line 1073 of file serializer.cc.

Here is the call graph for this function:

◆ OutputRawData()

void v8::internal::Serializer::ObjectSerializer::OutputRawData ( Address up_to)
private

Definition at line 1359 of file serializer.cc.

Here is the call graph for this function:

◆ Serialize()

void v8::internal::Serializer::ObjectSerializer::Serialize ( SlotType slot_type)

Definition at line 794 of file serializer.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SerializeBackingStore()

uint32_t v8::internal::Serializer::ObjectSerializer::SerializeBackingStore ( void * backing_store,
uint32_t byte_length,
Maybe< uint32_t > max_byte_length )
private

Definition at line 568 of file serializer.cc.

Here is the call graph for this function:

◆ SerializeContent()

void v8::internal::Serializer::ObjectSerializer::SerializeContent ( Tagged< Map > map,
int size )
private

Definition at line 955 of file serializer.cc.

Here is the call graph for this function:

◆ SerializeDeferred()

void v8::internal::Serializer::ObjectSerializer::SerializeDeferred ( )

Definition at line 936 of file serializer.cc.

Here is the call graph for this function:

◆ SerializeExternalString()

void v8::internal::Serializer::ObjectSerializer::SerializeExternalString ( )
private

Definition at line 682 of file serializer.cc.

Here is the call graph for this function:

◆ SerializeExternalStringAsSequentialString()

void v8::internal::Serializer::ObjectSerializer::SerializeExternalStringAsSequentialString ( )
private

Definition at line 708 of file serializer.cc.

Here is the call graph for this function:

◆ SerializeJSArrayBuffer()

void v8::internal::Serializer::ObjectSerializer::SerializeJSArrayBuffer ( )
private

Definition at line 642 of file serializer.cc.

Here is the call graph for this function:

◆ SerializeJSTypedArray()

void v8::internal::Serializer::ObjectSerializer::SerializeJSTypedArray ( )
private

Definition at line 600 of file serializer.cc.

Here is the call graph for this function:

◆ SerializeObject()

void v8::internal::Serializer::ObjectSerializer::SerializeObject ( )

Definition at line 911 of file serializer.cc.

◆ SerializePrologue()

void v8::internal::Serializer::ObjectSerializer::SerializePrologue ( SnapshotSpace space,
int size,
Tagged< Map > map )
private

Definition at line 459 of file serializer.cc.

Here is the call graph for this function:

◆ VisitCodeTarget()

void v8::internal::Serializer::ObjectSerializer::VisitCodeTarget ( Tagged< InstructionStream > host,
RelocInfo * target )
overridevirtual

Reimplemented from v8::internal::ObjectVisitor.

Definition at line 1068 of file serializer.cc.

◆ VisitCppHeapPointer()

void v8::internal::Serializer::ObjectSerializer::VisitCppHeapPointer ( Tagged< HeapObject > host,
CppHeapPointerSlot slot )
overridevirtual

Reimplemented from v8::internal::ObjectVisitor.

Definition at line 1130 of file serializer.cc.

Here is the call graph for this function:

◆ VisitEmbeddedPointer()

void v8::internal::Serializer::ObjectSerializer::VisitEmbeddedPointer ( Tagged< InstructionStream > host,
RelocInfo * target )
overridevirtual

Reimplemented from v8::internal::ObjectVisitor.

Definition at line 1048 of file serializer.cc.

◆ VisitExternalPointer()

void v8::internal::Serializer::ObjectSerializer::VisitExternalPointer ( Tagged< HeapObject > host,
ExternalPointerSlot slot )
overridevirtual

Reimplemented from v8::internal::ObjectVisitor.

Definition at line 1149 of file serializer.cc.

Here is the call graph for this function:

◆ VisitExternalReference()

void v8::internal::Serializer::ObjectSerializer::VisitExternalReference ( Tagged< InstructionStream > host,
RelocInfo * rinfo )
overridevirtual

Reimplemented from v8::internal::ObjectVisitor.

Definition at line 1053 of file serializer.cc.

◆ VisitIndirectPointer()

void v8::internal::Serializer::ObjectSerializer::VisitIndirectPointer ( Tagged< HeapObject > host,
IndirectPointerSlot slot,
IndirectPointerMode mode )
overridevirtual

Reimplemented from v8::internal::ObjectVisitor.

Definition at line 1198 of file serializer.cc.

Here is the call graph for this function:

◆ VisitInstructionStreamPointer()

void v8::internal::Serializer::ObjectSerializer::VisitInstructionStreamPointer ( Tagged< Code > host,
InstructionStreamSlot slot )
overridevirtual

Implements v8::internal::ObjectVisitor.

Definition at line 1041 of file serializer.cc.

◆ VisitInternalReference()

void v8::internal::Serializer::ObjectSerializer::VisitInternalReference ( Tagged< InstructionStream > host,
RelocInfo * rinfo )
overridevirtual

Reimplemented from v8::internal::ObjectVisitor.

Definition at line 1058 of file serializer.cc.

◆ VisitJSDispatchTableEntry()

void v8::internal::Serializer::ObjectSerializer::VisitJSDispatchTableEntry ( Tagged< HeapObject > host,
JSDispatchHandle handle )
overridevirtual

Reimplemented from v8::internal::ObjectVisitor.

Definition at line 1295 of file serializer.cc.

Here is the call graph for this function:

◆ VisitOffHeapTarget()

void v8::internal::Serializer::ObjectSerializer::VisitOffHeapTarget ( Tagged< InstructionStream > host,
RelocInfo * target )
overridevirtual

Reimplemented from v8::internal::ObjectVisitor.

Definition at line 1063 of file serializer.cc.

◆ VisitPointers() [1/2]

void v8::internal::Serializer::ObjectSerializer::VisitPointers ( Tagged< HeapObject > host,
MaybeObjectSlot start,
MaybeObjectSlot end )
overridevirtual

Implements v8::internal::ObjectVisitor.

Definition at line 970 of file serializer.cc.

Here is the call graph for this function:

◆ VisitPointers() [2/2]

void v8::internal::Serializer::ObjectSerializer::VisitPointers ( Tagged< HeapObject > host,
ObjectSlot start,
ObjectSlot end )
overridevirtual

Implements v8::internal::ObjectVisitor.

Definition at line 964 of file serializer.cc.

◆ VisitProtectedPointer() [1/2]

void v8::internal::Serializer::ObjectSerializer::VisitProtectedPointer ( Tagged< TrustedObject > host,
ProtectedMaybeObjectSlot slot )
overridevirtual

Reimplemented from v8::internal::ObjectVisitor.

Definition at line 1265 of file serializer.cc.

Here is the call graph for this function:

◆ VisitProtectedPointer() [2/2]

void v8::internal::Serializer::ObjectSerializer::VisitProtectedPointer ( Tagged< TrustedObject > host,
ProtectedPointerSlot slot )
overridevirtual

Reimplemented from v8::internal::ObjectVisitor.

Definition at line 1243 of file serializer.cc.

Here is the call graph for this function:

◆ VisitTrustedPointerTableEntry()

void v8::internal::Serializer::ObjectSerializer::VisitTrustedPointerTableEntry ( Tagged< HeapObject > host,
IndirectPointerSlot slot )
overridevirtual

Reimplemented from v8::internal::ObjectVisitor.

Definition at line 1227 of file serializer.cc.

Member Data Documentation

◆ bytes_processed_so_far_

int v8::internal::Serializer::ObjectSerializer::bytes_processed_so_far_
private

Definition at line 530 of file serializer.h.

◆ isolate_

Isolate* v8::internal::Serializer::ObjectSerializer::isolate_
private

Definition at line 526 of file serializer.h.

◆ object_

Handle<HeapObject> v8::internal::Serializer::ObjectSerializer::object_
private

Definition at line 528 of file serializer.h.

◆ serializer_

Serializer* v8::internal::Serializer::ObjectSerializer::serializer_
private

Definition at line 527 of file serializer.h.

◆ sink_

SnapshotByteSink* v8::internal::Serializer::ObjectSerializer::sink_
private

Definition at line 529 of file serializer.h.


The documentation for this class was generated from the following files: