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

#include <deserializer.h>

Inheritance diagram for v8::internal::Deserializer< IsolateT >:
Collaboration diagram for v8::internal::Deserializer< IsolateT >:

Classes

class  DisableGCStats
 
class  HotObjectsList
 
struct  ReferenceDescriptor
 
struct  UnresolvedForwardRef
 

Public Member Functions

 ~Deserializer () override
 
 Deserializer (const Deserializer &)=delete
 
Deserializeroperator= (const Deserializer &)=delete
 
template<typename SlotAccessor >
int ReadRepeatedRoot (SlotAccessor slot_accessor, int repeat_count)
 
- Public Member Functions inherited from v8::internal::RootVisitor
virtual ~RootVisitor ()=default
 
virtual void VisitRootPointer (Root root, const char *description, FullObjectSlot p)
 
virtual void VisitRootPointers (Root root, const char *description, OffHeapObjectSlot start, OffHeapObjectSlot end)
 
virtual void VisitRunningCode (FullObjectSlot code_slot, FullObjectSlot istream_or_smi_zero_slot)
 
virtual GarbageCollector collector () const
 

Protected Member Functions

 Deserializer (IsolateT *isolate, base::Vector< const uint8_t > payload, uint32_t magic_number, bool deserializing_user_code, bool can_rehash)
 
void DeserializeDeferredObjects ()
 
void LogNewObjectEvents ()
 
void LogScriptEvents (Tagged< Script > script)
 
void LogNewMapEvents ()
 
void WeakenDescriptorArrays ()
 
Handle< HeapObjectGetBackReferencedObject ()
 
Handle< HeapObjectGetBackReferencedObject (uint32_t index)
 
void AddAttachedObject (DirectHandle< HeapObject > attached_object)
 
IsolateT * isolate () const
 
Isolatemain_thread_isolate () const
 
SnapshotByteSourcesource ()
 
base::Vector< const DirectHandle< AllocationSite > > new_allocation_sites () const
 
base::Vector< const DirectHandle< InstructionStream > > new_code_objects () const
 
base::Vector< const DirectHandle< Map > > new_maps () const
 
base::Vector< const DirectHandle< AccessorInfo > > accessor_infos () const
 
base::Vector< const DirectHandle< FunctionTemplateInfo > > function_template_infos () const
 
base::Vector< const DirectHandle< Script > > new_scripts () const
 
std::shared_ptr< BackingStorebacking_store (size_t i)
 
bool deserializing_user_code () const
 
bool should_rehash () const
 
void PushObjectToRehash (DirectHandle< HeapObject > object)
 
void Rehash ()
 
DirectHandle< HeapObjectReadObject ()
 
- Protected Member Functions inherited from v8::internal::SerializerDeserializer
void RestoreExternalReferenceRedirector (Isolate *isolate, Tagged< AccessorInfo > accessor_info)
 
void RestoreExternalReferenceRedirector (Isolate *isolate, Tagged< FunctionTemplateInfo > function_template_info)
 

Private Member Functions

void VisitRootPointers (Root root, const char *description, FullObjectSlot start, FullObjectSlot end) override
 
void Synchronize (VisitorSynchronization::SyncTag tag) override
 
template<typename SlotAccessor >
int WriteHeapPointer (SlotAccessor slot_accessor, Tagged< HeapObject > heap_object, ReferenceDescriptor descr, WriteBarrierMode mode=UPDATE_WRITE_BARRIER)
 
template<typename SlotAccessor >
int WriteHeapPointer (SlotAccessor slot_accessor, DirectHandle< HeapObject > heap_object, ReferenceDescriptor descr, WriteBarrierMode mode=UPDATE_WRITE_BARRIER)
 
int WriteExternalPointer (Tagged< HeapObject > host, ExternalPointerSlot dest, Address value, ExternalPointerTag tag)
 
int WriteIndirectPointer (IndirectPointerSlot dest, Tagged< HeapObject > value)
 
void ReadData (Handle< HeapObject > object, int start_slot_index, int end_slot_index)
 
void ReadData (FullMaybeObjectSlot start, FullMaybeObjectSlot end)
 
template<typename SlotAccessor >
int ReadSingleBytecodeData (uint8_t data, SlotAccessor slot_accessor)
 
template<typename SlotAccessor >
int ReadNewObject (uint8_t data, SlotAccessor slot_accessor)
 
template<typename SlotAccessor >
int ReadBackref (uint8_t data, SlotAccessor slot_accessor)
 
template<typename SlotAccessor >
int ReadReadOnlyHeapRef (uint8_t data, SlotAccessor slot_accessor)
 
template<typename SlotAccessor >
int ReadRootArray (uint8_t data, SlotAccessor slot_accessor)
 
template<typename SlotAccessor >
int ReadStartupObjectCache (uint8_t data, SlotAccessor slot_accessor)
 
template<typename SlotAccessor >
int ReadSharedHeapObjectCache (uint8_t data, SlotAccessor slot_accessor)
 
template<typename SlotAccessor >
int ReadNewMetaMap (uint8_t data, SlotAccessor slot_accessor)
 
template<typename SlotAccessor >
int ReadExternalReference (uint8_t data, SlotAccessor slot_accessor)
 
template<typename SlotAccessor >
int ReadRawExternalReference (uint8_t data, SlotAccessor slot_accessor)
 
template<typename SlotAccessor >
int ReadAttachedReference (uint8_t data, SlotAccessor slot_accessor)
 
template<typename SlotAccessor >
int ReadRegisterPendingForwardRef (uint8_t data, SlotAccessor slot_accessor)
 
template<typename SlotAccessor >
int ReadResolvePendingForwardRef (uint8_t data, SlotAccessor slot_accessor)
 
template<typename SlotAccessor >
int ReadVariableRawData (uint8_t data, SlotAccessor slot_accessor)
 
template<typename SlotAccessor >
int ReadVariableRepeatRoot (uint8_t data, SlotAccessor slot_accessor)
 
template<typename SlotAccessor >
int ReadOffHeapBackingStore (uint8_t data, SlotAccessor slot_accessor)
 
template<typename SlotAccessor >
int ReadApiReference (uint8_t data, SlotAccessor slot_accessor)
 
template<typename SlotAccessor >
int ReadClearedWeakReference (uint8_t data, SlotAccessor slot_accessor)
 
template<typename SlotAccessor >
int ReadWeakPrefix (uint8_t data, SlotAccessor slot_accessor)
 
template<typename SlotAccessor >
int ReadIndirectPointerPrefix (uint8_t data, SlotAccessor slot_accessor)
 
template<typename SlotAccessor >
int ReadInitializeSelfIndirectPointer (uint8_t data, SlotAccessor slot_accessor)
 
template<typename SlotAccessor >
int ReadAllocateJSDispatchEntry (uint8_t data, SlotAccessor slot_accessor)
 
template<typename SlotAccessor >
int ReadJSDispatchEntry (uint8_t data, SlotAccessor slot_accessor)
 
template<typename SlotAccessor >
int ReadProtectedPointerPrefix (uint8_t data, SlotAccessor slot_accessor)
 
template<typename SlotAccessor >
int ReadRootArrayConstants (uint8_t data, SlotAccessor slot_accessor)
 
template<typename SlotAccessor >
int ReadHotObject (uint8_t data, SlotAccessor slot_accessor)
 
template<typename SlotAccessor >
int ReadFixedRawData (uint8_t data, SlotAccessor slot_accessor)
 
template<typename SlotAccessor >
int ReadFixedRepeatRoot (uint8_t data, SlotAccessor slot_accessor)
 
Address ReadExternalReferenceCase ()
 
ExternalPointerTag ReadExternalPointerTag ()
 
Handle< HeapObjectReadObject (SnapshotSpace space)
 
Handle< HeapObjectReadMetaMap (SnapshotSpace space)
 
ReferenceDescriptor GetAndResetNextReferenceDescriptor ()
 
template<typename SlotGetter >
int ReadRepeatedRoot (SlotGetter slot_getter, int repeat_count)
 
void PostProcessNewObject (DirectHandle< Map > map, Handle< HeapObject > obj, SnapshotSpace space)
 
void PostProcessNewJSReceiver (Tagged< Map > map, DirectHandle< JSReceiver > obj, InstanceType instance_type, SnapshotSpace space)
 
Tagged< HeapObjectAllocate (AllocationType allocation, int size, AllocationAlignment alignment)
 
void PostProcessNewJSReceiver (Tagged< Map > map, DirectHandle< JSReceiver > obj, InstanceType instance_type, SnapshotSpace space)
 
void PostProcessNewJSReceiver (Tagged< Map > map, DirectHandle< JSReceiver > obj, InstanceType instance_type, SnapshotSpace space)
 

Private Attributes

IsolateT * isolate_
 
DirectHandleVector< HeapObjectattached_objects_
 
SnapshotByteSource source_
 
uint32_t magic_number_
 
HotObjectsList hot_objects_
 
DirectHandleVector< Mapnew_maps_
 
DirectHandleVector< AllocationSitenew_allocation_sites_
 
DirectHandleVector< InstructionStreamnew_code_objects_
 
DirectHandleVector< AccessorInfoaccessor_infos_
 
DirectHandleVector< FunctionTemplateInfofunction_template_infos_
 
DirectHandleVector< Scriptnew_scripts_
 
std::vector< std::shared_ptr< BackingStore > > backing_stores_
 
GlobalHandleVector< DescriptorArraynew_descriptor_arrays_
 
std::vector< IndirectHandle< HeapObject > > back_refs_
 
std::vector< JSDispatchHandlejs_dispatch_entries_
 
std::vector< UnresolvedForwardRefunresolved_forward_refs_
 
int num_unresolved_forward_refs_ = 0
 
const bool deserializing_user_code_
 
bool next_reference_is_weak_ = false
 
bool next_reference_is_indirect_pointer_ = false
 
bool next_reference_is_protected_pointer = false
 
const bool should_rehash_
 
DirectHandleVector< HeapObjectto_rehash_
 
DisableGCStats no_gc_stats_
 
int depth_ = 0
 

Additional Inherited Members

- Static Public Member Functions inherited from v8::internal::SerializerDeserializer
static void IterateStartupObjectCache (Isolate *isolate, RootVisitor *visitor)
 
static void IterateSharedHeapObjectCache (Isolate *isolate, RootVisitor *visitor)
 
- Static Public Member Functions inherited from v8::internal::RootVisitor
static const char * RootName (Root root)
 
- Protected Types inherited from v8::internal::SerializerDeserializer
enum class  SlotType { kAnySlot , kMapSlot }
 
enum  Bytecode : uint8_t {
  kNewObject = 0x00 , kBackref = 0x04 , kReadOnlyHeapRef , kStartupObjectCache ,
  kRootArray , kAttachedReference , kSharedHeapObjectCache , kNop ,
  kSynchronize , kVariableRepeatRoot , kOffHeapBackingStore , kOffHeapResizableBackingStore ,
  kEmbedderFieldsData , kApiWrapperFieldsData , kVariableRawData , kApiReference ,
  kExternalReference , kSandboxedApiReference , kSandboxedExternalReference , kSandboxedRawExternalReference ,
  kClearedWeakReference , kWeakPrefix , kRegisterPendingForwardRef , kResolvePendingForwardRef ,
  kNewContextlessMetaMap , kNewContextfulMetaMap , kIndirectPointerPrefix , kInitializeSelfIndirectPointer ,
  kAllocateJSDispatchEntry , kJSDispatchEntry , kProtectedPointerPrefix , kRootArrayConstants = 0x40 ,
  kFixedRawData = 0x60 , kFixedRepeatRoot = 0x80 , kHotObject = 0x90
}
 
template<Bytecode bytecode>
using SpaceEncoder
 
using NewObject = SpaceEncoder<kNewObject>
 
using FixedRawDataWithSize
 
using FixedRepeatRootWithCount
 
using RootArrayConstant
 
using HotObject = BytecodeValueEncoder<kHotObject, 0, kHotObjectCount - 1>
 
- Static Protected Member Functions inherited from v8::internal::SerializerDeserializer
static bool CanBeDeferred (Tagged< HeapObject > o, SlotType slot_type)
 
- Static Protected Attributes inherited from v8::internal::SerializerDeserializer
static const int kRootArrayConstantsCount = 0x20
 
static const int kFixedRawDataCount = 0x20
 
static const int kFixedRepeatRootCount = 0x10
 
static const int kHotObjectCount = 8
 
static const int kDoubleAlignmentSentinel = 0
 
static const int kFirstEncodableFixedRawDataSize = 1
 
static const int kLastEncodableFixedRawDataSize
 
static const int kFirstEncodableRepeatRootCount = 2
 
static const int kLastEncodableFixedRepeatRootCount
 
static const int kFirstEncodableVariableRepeatRootCount
 
static const uint32_t kEmptyBackingStoreRefSentinel = 0
 

Detailed Description

template<typename IsolateT>
class v8::internal::Deserializer< IsolateT >

Definition at line 44 of file deserializer.h.

Constructor & Destructor Documentation

◆ ~Deserializer()

template<typename IsolateT >
v8::internal::Deserializer< IsolateT >::~Deserializer ( )
override

Definition at line 359 of file deserializer.cc.

Here is the call graph for this function:

◆ Deserializer() [1/2]

template<typename IsolateT >
v8::internal::Deserializer< IsolateT >::Deserializer ( const Deserializer< IsolateT > & )
delete

◆ Deserializer() [2/2]

template<typename IsolateT >
v8::internal::Deserializer< IsolateT >::Deserializer ( IsolateT * isolate,
base::Vector< const uint8_t > payload,
uint32_t magic_number,
bool deserializing_user_code,
bool can_rehash )
protected

Definition at line 312 of file deserializer.cc.

Member Function Documentation

◆ accessor_infos()

template<typename IsolateT >
base::Vector< const DirectHandle< AccessorInfo > > v8::internal::Deserializer< IsolateT >::accessor_infos ( ) const
inlineprotected

Definition at line 95 of file deserializer.h.

◆ AddAttachedObject()

template<typename IsolateT >
void v8::internal::Deserializer< IsolateT >::AddAttachedObject ( DirectHandle< HeapObject > attached_object)
inlineprotected

Definition at line 75 of file deserializer.h.

◆ Allocate()

template<typename IsolateT >
Tagged< HeapObject > v8::internal::Deserializer< IsolateT >::Allocate ( AllocationType allocation,
int size,
AllocationAlignment alignment )
private

Definition at line 1651 of file deserializer.cc.

Here is the call graph for this function:

◆ backing_store()

template<typename IsolateT >
std::shared_ptr< BackingStore > v8::internal::Deserializer< IsolateT >::backing_store ( size_t i)
inlineprotected

Definition at line 106 of file deserializer.h.

◆ DeserializeDeferredObjects()

template<typename IsolateT >
void v8::internal::Deserializer< IsolateT >::DeserializeDeferredObjects ( )
protected

Definition at line 404 of file deserializer.cc.

Here is the call graph for this function:

◆ deserializing_user_code()

template<typename IsolateT >
bool v8::internal::Deserializer< IsolateT >::deserializing_user_code ( ) const
inlineprotected

Definition at line 111 of file deserializer.h.

◆ function_template_infos()

template<typename IsolateT >
base::Vector< const DirectHandle< FunctionTemplateInfo > > v8::internal::Deserializer< IsolateT >::function_template_infos ( ) const
inlineprotected

Definition at line 99 of file deserializer.h.

◆ GetAndResetNextReferenceDescriptor()

template<typename IsolateT >
Deserializer< IsolateT >::ReferenceDescriptor v8::internal::Deserializer< IsolateT >::GetAndResetNextReferenceDescriptor ( )
private

Definition at line 694 of file deserializer.cc.

◆ GetBackReferencedObject() [1/2]

template<typename IsolateT >
Handle< HeapObject > v8::internal::Deserializer< IsolateT >::GetBackReferencedObject ( )
protected

Definition at line 708 of file deserializer.cc.

◆ GetBackReferencedObject() [2/2]

template<typename IsolateT >
Handle< HeapObject > v8::internal::Deserializer< IsolateT >::GetBackReferencedObject ( uint32_t index)
protected

Definition at line 713 of file deserializer.cc.

Here is the call graph for this function:

◆ isolate()

template<typename IsolateT >
IsolateT * v8::internal::Deserializer< IsolateT >::isolate ( ) const
inlineprotected

Definition at line 79 of file deserializer.h.

◆ LogNewMapEvents()

template<typename IsolateT >
void v8::internal::Deserializer< IsolateT >::LogNewMapEvents ( )
protected

Definition at line 415 of file deserializer.cc.

◆ LogNewObjectEvents()

template<typename IsolateT >
void v8::internal::Deserializer< IsolateT >::LogNewObjectEvents ( )
protected

◆ LogScriptEvents()

template<typename IsolateT >
void v8::internal::Deserializer< IsolateT >::LogScriptEvents ( Tagged< Script > script)
protected

Definition at line 431 of file deserializer.cc.

◆ main_thread_isolate()

template<typename IsolateT >
Isolate * v8::internal::Deserializer< IsolateT >::main_thread_isolate ( ) const
inlineprotected

Definition at line 81 of file deserializer.h.

Here is the call graph for this function:

◆ new_allocation_sites()

template<typename IsolateT >
base::Vector< const DirectHandle< AllocationSite > > v8::internal::Deserializer< IsolateT >::new_allocation_sites ( ) const
inlineprotected

Definition at line 85 of file deserializer.h.

◆ new_code_objects()

template<typename IsolateT >
base::Vector< const DirectHandle< InstructionStream > > v8::internal::Deserializer< IsolateT >::new_code_objects ( ) const
inlineprotected

Definition at line 89 of file deserializer.h.

◆ new_maps()

template<typename IsolateT >
base::Vector< const DirectHandle< Map > > v8::internal::Deserializer< IsolateT >::new_maps ( ) const
inlineprotected

Definition at line 92 of file deserializer.h.

◆ new_scripts()

template<typename IsolateT >
base::Vector< const DirectHandle< Script > > v8::internal::Deserializer< IsolateT >::new_scripts ( ) const
inlineprotected

Definition at line 102 of file deserializer.h.

◆ operator=()

template<typename IsolateT >
Deserializer & v8::internal::Deserializer< IsolateT >::operator= ( const Deserializer< IsolateT > & )
delete

◆ PostProcessNewJSReceiver() [1/3]

void v8::internal::Deserializer< Isolate >::PostProcessNewJSReceiver ( Tagged< Map > map,
DirectHandle< JSReceiver > obj,
InstanceType instance_type,
SnapshotSpace space )
private

Definition at line 506 of file deserializer.cc.

Here is the call graph for this function:

◆ PostProcessNewJSReceiver() [2/3]

void v8::internal::Deserializer< LocalIsolate >::PostProcessNewJSReceiver ( Tagged< Map > map,
DirectHandle< JSReceiver > obj,
InstanceType instance_type,
SnapshotSpace space )
private

Definition at line 567 of file deserializer.cc.

Here is the call graph for this function:

◆ PostProcessNewJSReceiver() [3/3]

template<typename IsolateT >
void v8::internal::Deserializer< IsolateT >::PostProcessNewJSReceiver ( Tagged< Map > map,
DirectHandle< JSReceiver > obj,
InstanceType instance_type,
SnapshotSpace space )
private

◆ PostProcessNewObject()

template<typename IsolateT >
void v8::internal::Deserializer< IsolateT >::PostProcessNewObject ( DirectHandle< Map > map,
Handle< HeapObject > obj,
SnapshotSpace space )
private

Definition at line 574 of file deserializer.cc.

Here is the call graph for this function:

◆ PushObjectToRehash()

template<typename IsolateT >
void v8::internal::Deserializer< IsolateT >::PushObjectToRehash ( DirectHandle< HeapObject > object)
inlineprotected

Definition at line 114 of file deserializer.h.

◆ ReadAllocateJSDispatchEntry()

template<typename IsolateT >
template<typename SlotAccessor >
int v8::internal::Deserializer< IsolateT >::ReadAllocateJSDispatchEntry ( uint8_t data,
SlotAccessor slot_accessor )
private

Definition at line 1479 of file deserializer.cc.

Here is the call graph for this function:

◆ ReadApiReference()

template<typename IsolateT >
template<typename SlotAccessor >
int v8::internal::Deserializer< IsolateT >::ReadApiReference ( uint8_t data,
SlotAccessor slot_accessor )
private

Definition at line 1392 of file deserializer.cc.

Here is the call graph for this function:

◆ ReadAttachedReference()

template<typename IsolateT >
template<typename SlotAccessor >
int v8::internal::Deserializer< IsolateT >::ReadAttachedReference ( uint8_t data,
SlotAccessor slot_accessor )
private

Definition at line 1267 of file deserializer.cc.

Here is the call graph for this function:

◆ ReadBackref()

template<typename IsolateT >
template<typename SlotAccessor >
int v8::internal::Deserializer< IsolateT >::ReadBackref ( uint8_t data,
SlotAccessor slot_accessor )
private

Definition at line 1107 of file deserializer.cc.

Here is the call graph for this function:

◆ ReadClearedWeakReference()

template<typename IsolateT >
template<typename SlotAccessor >
int v8::internal::Deserializer< IsolateT >::ReadClearedWeakReference ( uint8_t data,
SlotAccessor slot_accessor )
private

Definition at line 1419 of file deserializer.cc.

Here is the call graph for this function:

◆ ReadData() [1/2]

template<typename IsolateT >
void v8::internal::Deserializer< IsolateT >::ReadData ( FullMaybeObjectSlot start,
FullMaybeObjectSlot end )
private

Definition at line 968 of file deserializer.cc.

◆ ReadData() [2/2]

template<typename IsolateT >
void v8::internal::Deserializer< IsolateT >::ReadData ( Handle< HeapObject > object,
int start_slot_index,
int end_slot_index )
private

Definition at line 955 of file deserializer.cc.

Here is the call graph for this function:

◆ ReadExternalPointerTag()

template<typename IsolateT >
ExternalPointerTag v8::internal::Deserializer< IsolateT >::ReadExternalPointerTag ( )
private

Definition at line 1646 of file deserializer.cc.

◆ ReadExternalReference()

template<typename IsolateT >
template<typename SlotAccessor >
int v8::internal::Deserializer< IsolateT >::ReadExternalReference ( uint8_t data,
SlotAccessor slot_accessor )
private

Definition at line 1226 of file deserializer.cc.

Here is the call graph for this function:

◆ ReadExternalReferenceCase()

template<typename IsolateT >
Address v8::internal::Deserializer< IsolateT >::ReadExternalReferenceCase ( )
inlineprivate

Definition at line 1639 of file deserializer.cc.

◆ ReadFixedRawData()

template<typename IsolateT >
template<typename SlotAccessor >
int v8::internal::Deserializer< IsolateT >::ReadFixedRawData ( uint8_t data,
SlotAccessor slot_accessor )
private

Definition at line 1586 of file deserializer.cc.

Here is the call graph for this function:

◆ ReadFixedRepeatRoot()

template<typename IsolateT >
template<typename SlotAccessor >
int v8::internal::Deserializer< IsolateT >::ReadFixedRepeatRoot ( uint8_t data,
SlotAccessor slot_accessor )
private

Definition at line 1615 of file deserializer.cc.

Here is the call graph for this function:

◆ ReadHotObject()

template<typename IsolateT >
template<typename SlotAccessor >
int v8::internal::Deserializer< IsolateT >::ReadHotObject ( uint8_t data,
SlotAccessor slot_accessor )
private

Definition at line 1571 of file deserializer.cc.

Here is the call graph for this function:

◆ ReadIndirectPointerPrefix()

template<typename IsolateT >
template<typename SlotAccessor >
int v8::internal::Deserializer< IsolateT >::ReadIndirectPointerPrefix ( uint8_t data,
SlotAccessor slot_accessor )
private

Definition at line 1444 of file deserializer.cc.

Here is the call graph for this function:

◆ ReadInitializeSelfIndirectPointer()

template<typename IsolateT >
template<typename SlotAccessor >
int v8::internal::Deserializer< IsolateT >::ReadInitializeSelfIndirectPointer ( uint8_t data,
SlotAccessor slot_accessor )
private

Definition at line 1459 of file deserializer.cc.

Here is the call graph for this function:

◆ ReadJSDispatchEntry()

template<typename IsolateT >
template<typename SlotAccessor >
int v8::internal::Deserializer< IsolateT >::ReadJSDispatchEntry ( uint8_t data,
SlotAccessor slot_accessor )
private

Definition at line 1511 of file deserializer.cc.

Here is the call graph for this function:

◆ ReadMetaMap()

template<typename IsolateT >
Handle< HeapObject > v8::internal::Deserializer< IsolateT >::ReadMetaMap ( SnapshotSpace space)
private

Definition at line 870 of file deserializer.cc.

Here is the call graph for this function:

◆ ReadNewMetaMap()

template<typename IsolateT >
template<typename SlotAccessor >
int v8::internal::Deserializer< IsolateT >::ReadNewMetaMap ( uint8_t data,
SlotAccessor slot_accessor )
private

Definition at line 1209 of file deserializer.cc.

Here is the call graph for this function:

◆ ReadNewObject()

template<typename IsolateT >
template<typename SlotAccessor >
int v8::internal::Deserializer< IsolateT >::ReadNewObject ( uint8_t data,
SlotAccessor slot_accessor )
private

Definition at line 1086 of file deserializer.cc.

Here is the call graph for this function:

◆ ReadObject() [1/2]

template<typename IsolateT >
DirectHandle< HeapObject > v8::internal::Deserializer< IsolateT >::ReadObject ( )
protected

Definition at line 727 of file deserializer.cc.

◆ ReadObject() [2/2]

template<typename IsolateT >
Handle< HeapObject > v8::internal::Deserializer< IsolateT >::ReadObject ( SnapshotSpace space)
private

Definition at line 751 of file deserializer.cc.

Here is the call graph for this function:

◆ ReadOffHeapBackingStore()

template<typename IsolateT >
template<typename SlotAccessor >
int v8::internal::Deserializer< IsolateT >::ReadOffHeapBackingStore ( uint8_t data,
SlotAccessor slot_accessor )
private

Definition at line 1358 of file deserializer.cc.

Here is the call graph for this function:

◆ ReadProtectedPointerPrefix()

template<typename IsolateT >
template<typename SlotAccessor >
int v8::internal::Deserializer< IsolateT >::ReadProtectedPointerPrefix ( uint8_t data,
SlotAccessor slot_accessor )
private

Definition at line 1538 of file deserializer.cc.

◆ ReadRawExternalReference()

template<typename IsolateT >
template<typename SlotAccessor >
int v8::internal::Deserializer< IsolateT >::ReadRawExternalReference ( uint8_t data,
SlotAccessor slot_accessor )
private

Definition at line 1245 of file deserializer.cc.

Here is the call graph for this function:

◆ ReadReadOnlyHeapRef()

template<typename IsolateT >
template<typename SlotAccessor >
int v8::internal::Deserializer< IsolateT >::ReadReadOnlyHeapRef ( uint8_t data,
SlotAccessor slot_accessor )
private

Definition at line 1125 of file deserializer.cc.

Here is the call graph for this function:

◆ ReadRegisterPendingForwardRef()

template<typename IsolateT >
template<typename SlotAccessor >
int v8::internal::Deserializer< IsolateT >::ReadRegisterPendingForwardRef ( uint8_t data,
SlotAccessor slot_accessor )
private

Definition at line 1282 of file deserializer.cc.

◆ ReadRepeatedRoot() [1/2]

template<typename IsolateT >
template<typename SlotAccessor >
int v8::internal::Deserializer< IsolateT >::ReadRepeatedRoot ( SlotAccessor slot_accessor,
int repeat_count )

Definition at line 899 of file deserializer.cc.

Here is the call graph for this function:

◆ ReadRepeatedRoot() [2/2]

template<typename IsolateT >
template<typename SlotGetter >
int v8::internal::Deserializer< IsolateT >::ReadRepeatedRoot ( SlotGetter slot_getter,
int repeat_count )
private

◆ ReadResolvePendingForwardRef()

template<typename IsolateT >
template<typename SlotAccessor >
int v8::internal::Deserializer< IsolateT >::ReadResolvePendingForwardRef ( uint8_t data,
SlotAccessor slot_accessor )
private

Definition at line 1293 of file deserializer.cc.

Here is the call graph for this function:

◆ ReadRootArray()

template<typename IsolateT >
template<typename SlotAccessor >
int v8::internal::Deserializer< IsolateT >::ReadRootArray ( uint8_t data,
SlotAccessor slot_accessor )
private

Definition at line 1151 of file deserializer.cc.

Here is the call graph for this function:

◆ ReadRootArrayConstants()

template<typename IsolateT >
template<typename SlotAccessor >
int v8::internal::Deserializer< IsolateT >::ReadRootArrayConstants ( uint8_t data,
SlotAccessor slot_accessor )
private

Definition at line 1550 of file deserializer.cc.

Here is the call graph for this function:

◆ ReadSharedHeapObjectCache()

template<typename IsolateT >
template<typename SlotAccessor >
int v8::internal::Deserializer< IsolateT >::ReadSharedHeapObjectCache ( uint8_t data,
SlotAccessor slot_accessor )
private

Definition at line 1193 of file deserializer.cc.

Here is the call graph for this function:

◆ ReadSingleBytecodeData()

template<typename IsolateT >
template<typename SlotAccessor >
int v8::internal::Deserializer< IsolateT >::ReadSingleBytecodeData ( uint8_t data,
SlotAccessor slot_accessor )
private

Definition at line 980 of file deserializer.cc.

Here is the call graph for this function:

◆ ReadStartupObjectCache()

template<typename IsolateT >
template<typename SlotAccessor >
int v8::internal::Deserializer< IsolateT >::ReadStartupObjectCache ( uint8_t data,
SlotAccessor slot_accessor )
private

Definition at line 1173 of file deserializer.cc.

Here is the call graph for this function:

◆ ReadVariableRawData()

template<typename IsolateT >
template<typename SlotAccessor >
int v8::internal::Deserializer< IsolateT >::ReadVariableRawData ( uint8_t data,
SlotAccessor slot_accessor )
private

Definition at line 1321 of file deserializer.cc.

Here is the call graph for this function:

◆ ReadVariableRepeatRoot()

template<typename IsolateT >
template<typename SlotAccessor >
int v8::internal::Deserializer< IsolateT >::ReadVariableRepeatRoot ( uint8_t data,
SlotAccessor slot_accessor )
private

Definition at line 1343 of file deserializer.cc.

Here is the call graph for this function:

◆ ReadWeakPrefix()

template<typename IsolateT >
template<typename SlotAccessor >
int v8::internal::Deserializer< IsolateT >::ReadWeakPrefix ( uint8_t data,
SlotAccessor slot_accessor )
private

Definition at line 1429 of file deserializer.cc.

Here is the call graph for this function:

◆ Rehash()

template<typename IsolateT >
void v8::internal::Deserializer< IsolateT >::Rehash ( )
protected

Definition at line 351 of file deserializer.cc.

◆ should_rehash()

template<typename IsolateT >
bool v8::internal::Deserializer< IsolateT >::should_rehash ( ) const
inlineprotected

Definition at line 112 of file deserializer.h.

◆ source()

template<typename IsolateT >
SnapshotByteSource * v8::internal::Deserializer< IsolateT >::source ( )
inlineprotected

Definition at line 83 of file deserializer.h.

◆ Synchronize()

template<typename IsolateT >
void v8::internal::Deserializer< IsolateT >::Synchronize ( VisitorSynchronization::SyncTag tag)
overrideprivatevirtual

Reimplemented from v8::internal::RootVisitor.

Definition at line 383 of file deserializer.cc.

Here is the call graph for this function:

◆ VisitRootPointers()

template<typename IsolateT >
void v8::internal::Deserializer< IsolateT >::VisitRootPointers ( Root root,
const char * description,
FullObjectSlot start,
FullObjectSlot end )
overrideprivatevirtual

Implements v8::internal::RootVisitor.

Definition at line 375 of file deserializer.cc.

◆ WeakenDescriptorArrays()

template<typename IsolateT >
void v8::internal::Deserializer< IsolateT >::WeakenDescriptorArrays ( )
protected

Definition at line 426 of file deserializer.cc.

Here is the call graph for this function:

◆ WriteExternalPointer()

template<typename IsolateT >
int v8::internal::Deserializer< IsolateT >::WriteExternalPointer ( Tagged< HeapObject > host,
ExternalPointerSlot dest,
Address value,
ExternalPointerTag tag )
inlineprivate

Definition at line 246 of file deserializer.cc.

◆ WriteHeapPointer() [1/2]

template<typename IsolateT >
template<typename SlotAccessor >
int v8::internal::Deserializer< IsolateT >::WriteHeapPointer ( SlotAccessor slot_accessor,
DirectHandle< HeapObject > heap_object,
ReferenceDescriptor descr,
WriteBarrierMode mode = UPDATE_WRITE_BARRIER )
private

Definition at line 231 of file deserializer.cc.

◆ WriteHeapPointer() [2/2]

template<typename IsolateT >
template<typename SlotAccessor >
int v8::internal::Deserializer< IsolateT >::WriteHeapPointer ( SlotAccessor slot_accessor,
Tagged< HeapObject > heap_object,
ReferenceDescriptor descr,
WriteBarrierMode mode = UPDATE_WRITE_BARRIER )
private

Definition at line 218 of file deserializer.cc.

◆ WriteIndirectPointer()

template<typename IsolateT >
int v8::internal::Deserializer< IsolateT >::WriteIndirectPointer ( IndirectPointerSlot dest,
Tagged< HeapObject > value )
inlineprivate

Member Data Documentation

◆ accessor_infos_

template<typename IsolateT >
DirectHandleVector<AccessorInfo> v8::internal::Deserializer< IsolateT >::accessor_infos_
private

Definition at line 287 of file deserializer.h.

◆ attached_objects_

template<typename IsolateT >
DirectHandleVector<HeapObject> v8::internal::Deserializer< IsolateT >::attached_objects_
private

Definition at line 278 of file deserializer.h.

◆ back_refs_

template<typename IsolateT >
std::vector<IndirectHandle<HeapObject> > v8::internal::Deserializer< IsolateT >::back_refs_
private

Definition at line 297 of file deserializer.h.

◆ backing_stores_

template<typename IsolateT >
std::vector<std::shared_ptr<BackingStore> > v8::internal::Deserializer< IsolateT >::backing_stores_
private

Definition at line 290 of file deserializer.h.

◆ depth_

template<typename IsolateT >
int v8::internal::Deserializer< IsolateT >::depth_ = 0
private

Definition at line 345 of file deserializer.h.

◆ deserializing_user_code_

template<typename IsolateT >
const bool v8::internal::Deserializer< IsolateT >::deserializing_user_code_
private

Definition at line 320 of file deserializer.h.

◆ function_template_infos_

template<typename IsolateT >
DirectHandleVector<FunctionTemplateInfo> v8::internal::Deserializer< IsolateT >::function_template_infos_
private

Definition at line 288 of file deserializer.h.

◆ hot_objects_

template<typename IsolateT >
HotObjectsList v8::internal::Deserializer< IsolateT >::hot_objects_
private

Definition at line 283 of file deserializer.h.

◆ isolate_

template<typename IsolateT >
IsolateT* v8::internal::Deserializer< IsolateT >::isolate_
private

Definition at line 275 of file deserializer.h.

◆ js_dispatch_entries_

template<typename IsolateT >
std::vector<JSDispatchHandle> v8::internal::Deserializer< IsolateT >::js_dispatch_entries_
private

Definition at line 300 of file deserializer.h.

◆ magic_number_

template<typename IsolateT >
uint32_t v8::internal::Deserializer< IsolateT >::magic_number_
private

Definition at line 281 of file deserializer.h.

◆ new_allocation_sites_

template<typename IsolateT >
DirectHandleVector<AllocationSite> v8::internal::Deserializer< IsolateT >::new_allocation_sites_
private

Definition at line 285 of file deserializer.h.

◆ new_code_objects_

template<typename IsolateT >
DirectHandleVector<InstructionStream> v8::internal::Deserializer< IsolateT >::new_code_objects_
private

Definition at line 286 of file deserializer.h.

◆ new_descriptor_arrays_

template<typename IsolateT >
GlobalHandleVector<DescriptorArray> v8::internal::Deserializer< IsolateT >::new_descriptor_arrays_
private

Definition at line 294 of file deserializer.h.

◆ new_maps_

template<typename IsolateT >
DirectHandleVector<Map> v8::internal::Deserializer< IsolateT >::new_maps_
private

Definition at line 284 of file deserializer.h.

◆ new_scripts_

template<typename IsolateT >
DirectHandleVector<Script> v8::internal::Deserializer< IsolateT >::new_scripts_
private

Definition at line 289 of file deserializer.h.

◆ next_reference_is_indirect_pointer_

template<typename IsolateT >
bool v8::internal::Deserializer< IsolateT >::next_reference_is_indirect_pointer_ = false
private

Definition at line 323 of file deserializer.h.

◆ next_reference_is_protected_pointer

template<typename IsolateT >
bool v8::internal::Deserializer< IsolateT >::next_reference_is_protected_pointer = false
private

Definition at line 324 of file deserializer.h.

◆ next_reference_is_weak_

template<typename IsolateT >
bool v8::internal::Deserializer< IsolateT >::next_reference_is_weak_ = false
private

Definition at line 322 of file deserializer.h.

◆ no_gc_stats_

template<typename IsolateT >
DisableGCStats v8::internal::Deserializer< IsolateT >::no_gc_stats_
private

Definition at line 343 of file deserializer.h.

◆ num_unresolved_forward_refs_

template<typename IsolateT >
int v8::internal::Deserializer< IsolateT >::num_unresolved_forward_refs_ = 0
private

Definition at line 318 of file deserializer.h.

◆ should_rehash_

template<typename IsolateT >
const bool v8::internal::Deserializer< IsolateT >::should_rehash_
private

Definition at line 327 of file deserializer.h.

◆ source_

template<typename IsolateT >
SnapshotByteSource v8::internal::Deserializer< IsolateT >::source_
private

Definition at line 280 of file deserializer.h.

◆ to_rehash_

template<typename IsolateT >
DirectHandleVector<HeapObject> v8::internal::Deserializer< IsolateT >::to_rehash_
private

Definition at line 328 of file deserializer.h.

◆ unresolved_forward_refs_

template<typename IsolateT >
std::vector<UnresolvedForwardRef> v8::internal::Deserializer< IsolateT >::unresolved_forward_refs_
private

Definition at line 317 of file deserializer.h.


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