#include <serializer.h>
|
using | PendingObjectReferences = std::vector<int>* |
|
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> |
|
|
V8_INLINE bool | IsNotMappedSymbol (Tagged< HeapObject > obj) const |
|
void | SerializeDeferredObjects () |
|
void | SerializeObject (Handle< HeapObject > o, SlotType slot_type) |
|
virtual void | SerializeObjectImpl (Handle< HeapObject > o, SlotType slot_type)=0 |
|
virtual bool | MustBeDeferred (Tagged< HeapObject > object) |
|
void | VisitRootPointers (Root root, const char *description, FullObjectSlot start, FullObjectSlot end) override |
|
void | SerializeRootObject (FullObjectSlot slot) |
|
void | PutRoot (RootIndex root_index) |
|
void | PutSmiRoot (FullObjectSlot slot) |
|
void | PutBackReference (Tagged< HeapObject > object, SerializerReference reference) |
|
void | PutAttachedReference (SerializerReference reference) |
|
void | PutNextChunk (SnapshotSpace space) |
|
void | PutRepeatRoot (int repeat_count, RootIndex root_index) |
|
void | PutPendingForwardReference (PendingObjectReferences &ref) |
|
void | ResolvePendingForwardReference (int obj) |
|
bool | SerializeRoot (Tagged< HeapObject > obj) |
|
bool | SerializeHotObject (Tagged< HeapObject > obj) |
|
bool | SerializeBackReference (Tagged< HeapObject > obj) |
|
bool | SerializePendingObject (Tagged< HeapObject > obj) |
|
bool | ObjectIsBytecodeHandler (Tagged< HeapObject > obj) const |
|
ExternalReferenceEncoder::Value | EncodeExternalReference (Address addr) |
|
Maybe< ExternalReferenceEncoder::Value > | TryEncodeExternalReference (Address addr) |
|
bool | SerializeReadOnlyObjectReference (Tagged< HeapObject > obj, SnapshotByteSink *sink) |
|
void | Pad (int padding_offset=0) |
|
void | InitializeCodeAddressMap () |
|
Tagged< InstructionStream > | CopyCode (Tagged< InstructionStream > istream) |
|
void | QueueDeferredObject (Tagged< HeapObject > obj) |
|
void | RegisterObjectIsPending (Tagged< HeapObject > obj) |
|
void | ResolvePendingObject (Tagged< HeapObject > obj) |
|
void | OutputStatistics (const char *name) |
|
void | CountAllocation (Tagged< Map > map, int size, SnapshotSpace space) |
|
SerializerReferenceMap * | reference_map () |
|
const RootIndexMap * | root_index_map () const |
|
bool | allow_unknown_external_references_for_testing () const |
|
bool | allow_active_isolate_for_testing () const |
|
bool | reconstruct_read_only_and_shared_object_caches_for_testing () const |
|
bool | deferred_objects_empty () |
|
bool | serializer_tracks_serialization_statistics () const |
|
void | set_serializer_tracks_serialization_statistics (bool v) |
|
void | RestoreExternalReferenceRedirector (Isolate *isolate, Tagged< AccessorInfo > accessor_info) |
|
void | RestoreExternalReferenceRedirector (Isolate *isolate, Tagged< FunctionTemplateInfo > function_template_info) |
|
Definition at line 182 of file serializer.h.
◆ PendingObjectReferences
◆ Serializer() [1/2]
◆ ~Serializer()
v8::internal::Serializer::~Serializer |
( |
| ) |
|
|
inlineoverride |
◆ Serializer() [2/2]
v8::internal::Serializer::Serializer |
( |
const Serializer & | | ) |
|
|
delete |
◆ allow_active_isolate_for_testing()
bool v8::internal::Serializer::allow_active_isolate_for_testing |
( |
| ) |
const |
|
inlineprotected |
◆ allow_unknown_external_references_for_testing()
bool v8::internal::Serializer::allow_unknown_external_references_for_testing |
( |
| ) |
const |
|
inlineprotected |
◆ cage_base()
◆ CopyCode()
◆ CountAllocation()
◆ deferred_objects_empty()
bool v8::internal::Serializer::deferred_objects_empty |
( |
| ) |
|
|
inlineprotected |
◆ EncodeExternalReference()
◆ InitializeCodeAddressMap()
void v8::internal::Serializer::InitializeCodeAddressMap |
( |
| ) |
|
|
protected |
◆ IsNotMappedSymbol()
◆ isolate()
Isolate * v8::internal::Serializer::isolate |
( |
| ) |
const |
|
inline |
◆ MustBeDeferred()
◆ ObjectIsBytecodeHandler()
◆ operator=()
◆ OutputStatistics()
void v8::internal::Serializer::OutputStatistics |
( |
const char * | name | ) |
|
|
protected |
◆ Pad()
void v8::internal::Serializer::Pad |
( |
int | padding_offset = 0 | ) |
|
|
protected |
◆ Payload()
const std::vector< uint8_t > * v8::internal::Serializer::Payload |
( |
| ) |
const |
|
inline |
◆ PutAttachedReference()
◆ PutBackReference()
◆ PutNextChunk()
void v8::internal::Serializer::PutNextChunk |
( |
SnapshotSpace | space | ) |
|
|
protected |
◆ PutPendingForwardReference()
◆ PutRepeatRoot()
void v8::internal::Serializer::PutRepeatRoot |
( |
int | repeat_count, |
|
|
RootIndex | root_index ) |
|
protected |
◆ PutRoot()
void v8::internal::Serializer::PutRoot |
( |
RootIndex | root_index | ) |
|
|
protected |
◆ PutSmiRoot()
◆ QueueDeferredObject()
◆ reconstruct_read_only_and_shared_object_caches_for_testing()
bool v8::internal::Serializer::reconstruct_read_only_and_shared_object_caches_for_testing |
( |
| ) |
const |
|
inlineprotected |
◆ reference_map()
◆ ReferenceMapContains()
◆ RegisterObjectIsPending()
void v8::internal::Serializer::RegisterObjectIsPending |
( |
Tagged< HeapObject > | obj | ) |
|
|
protected |
◆ ResolvePendingForwardReference()
void v8::internal::Serializer::ResolvePendingForwardReference |
( |
int | obj | ) |
|
|
protected |
◆ ResolvePendingObject()
◆ root_index_map()
const RootIndexMap * v8::internal::Serializer::root_index_map |
( |
| ) |
const |
|
inlineprotected |
◆ SerializeBackReference()
◆ SerializeDeferredObjects()
void v8::internal::Serializer::SerializeDeferredObjects |
( |
| ) |
|
|
protected |
◆ SerializeHotObject()
◆ SerializeObject()
◆ SerializeObjectImpl()
◆ SerializePendingObject()
◆ serializer_tracks_serialization_statistics()
bool v8::internal::Serializer::serializer_tracks_serialization_statistics |
( |
| ) |
const |
|
inlineprotected |
◆ SerializeReadOnlyObjectReference()
◆ SerializeRoot()
◆ SerializeRootObject()
void v8::internal::Serializer::SerializeRootObject |
( |
FullObjectSlot | slot | ) |
|
|
protected |
◆ set_serializer_tracks_serialization_statistics()
void v8::internal::Serializer::set_serializer_tracks_serialization_statistics |
( |
bool | v | ) |
|
|
inlineprotected |
◆ TotalAllocationSize()
int v8::internal::Serializer::TotalAllocationSize |
( |
| ) |
const |
◆ TryEncodeExternalReference()
◆ VisitRootPointers()
◆ allocation_size_
◆ code_address_map_
std::unique_ptr<CodeAddressMap> v8::internal::Serializer::code_address_map_ |
|
private |
◆ code_buffer_
std::vector<uint8_t> v8::internal::Serializer::code_buffer_ |
|
private |
◆ deferred_objects_
◆ dispatch_handle_map_
std::unordered_map<JSDispatchHandle, uint32_t> v8::internal::Serializer::dispatch_handle_map_ |
|
private |
◆ external_reference_encoder_
◆ flags_
◆ forward_refs_per_pending_object_
◆ hot_objects_
◆ isolate_
Isolate* v8::internal::Serializer::isolate_ |
|
private |
◆ next_forward_ref_id_
int v8::internal::Serializer::next_forward_ref_id_ = 0 |
|
private |
◆ num_back_refs_
int v8::internal::Serializer::num_back_refs_ = 0 |
|
private |
◆ recursion_depth_
int v8::internal::Serializer::recursion_depth_ = 0 |
|
private |
◆ reference_map_
◆ root_index_map_
◆ seen_backing_stores_index_
uint32_t v8::internal::Serializer::seen_backing_stores_index_ = 1 |
|
private |
◆ serializer_tracks_serialization_statistics_
bool v8::internal::Serializer::serializer_tracks_serialization_statistics_ = true |
|
private |
◆ sink_
◆ unresolved_forward_refs_
int v8::internal::Serializer::unresolved_forward_refs_ = 0 |
|
private |
The documentation for this class was generated from the following files: