Flutter Engine
The Flutter Engine
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
dart::MessageDeserializationCluster Class Referenceabstract
Inheritance diagram for dart::MessageDeserializationCluster:
dart::ZoneAllocated dart::ArrayMessageDeserializationCluster dart::CapabilityMessageDeserializationCluster dart::ClassMessageDeserializationCluster dart::DoubleMessageDeserializationCluster dart::ExternalTypedDataMessageDeserializationCluster dart::GrowableObjectArrayMessageDeserializationCluster dart::MapMessageDeserializationCluster dart::MintMessageDeserializationCluster dart::NativePointerMessageDeserializationCluster dart::OneByteStringMessageDeserializationCluster dart::SendPortMessageDeserializationCluster dart::SetMessageDeserializationCluster dart::Simd128MessageDeserializationCluster dart::SmiMessageDeserializationCluster dart::TransferableTypedDataMessageDeserializationCluster dart::TwoByteStringMessageDeserializationCluster dart::TypeArgumentsMessageDeserializationCluster dart::TypeMessageDeserializationCluster dart::TypedDataMessageDeserializationCluster dart::TypedDataViewMessageDeserializationCluster

Public Member Functions

 MessageDeserializationCluster (const char *name, bool is_canonical=false)
 
virtual ~MessageDeserializationCluster ()
 
virtual void ReadNodes (MessageDeserializer *d)=0
 
virtual void ReadEdges (MessageDeserializer *d)
 
virtual ObjectPtr PostLoad (MessageDeserializer *d)
 
virtual void ReadNodesApi (ApiMessageDeserializer *d)
 
virtual void ReadEdgesApi (ApiMessageDeserializer *d)
 
virtual void PostLoadApi (ApiMessageDeserializer *d)
 
void ReadNodesWrapped (MessageDeserializer *d)
 
void ReadNodesWrappedApi (ApiMessageDeserializer *d)
 
const char * name () const
 
bool is_canonical () const
 
- Public Member Functions inherited from dart::ZoneAllocated
 ZoneAllocated ()
 
void * operator new (size_t size)
 
void * operator new (size_t size, Zone *zone)
 
void operator delete (void *pointer)
 

Protected Member Functions

ObjectPtr PostLoadAbstractType (MessageDeserializer *d)
 
ObjectPtr PostLoadLinkedHash (MessageDeserializer *d)
 
 DISALLOW_COPY_AND_ASSIGN (MessageDeserializationCluster)
 

Protected Attributes

const char *const name_
 
const bool is_canonical_
 
intptr_t start_index_
 
intptr_t stop_index_
 

Detailed Description

Definition at line 111 of file message_snapshot.cc.

Constructor & Destructor Documentation

◆ MessageDeserializationCluster()

dart::MessageDeserializationCluster::MessageDeserializationCluster ( const char *  name,
bool  is_canonical = false 
)
inlineexplicit

◆ ~MessageDeserializationCluster()

virtual dart::MessageDeserializationCluster::~MessageDeserializationCluster ( )
inlinevirtual

Definition at line 119 of file message_snapshot.cc.

119{}

Member Function Documentation

◆ DISALLOW_COPY_AND_ASSIGN()

dart::MessageDeserializationCluster::DISALLOW_COPY_AND_ASSIGN ( MessageDeserializationCluster  )
protected

◆ is_canonical()

bool dart::MessageDeserializationCluster::is_canonical ( ) const
inline

Definition at line 132 of file message_snapshot.cc.

132{ return is_canonical_; }

◆ name()

const char * dart::MessageDeserializationCluster::name ( ) const
inline

Definition at line 131 of file message_snapshot.cc.

131{ return name_; }

◆ PostLoad()

virtual ObjectPtr dart::MessageDeserializationCluster::PostLoad ( MessageDeserializer d)
inlinevirtual

◆ PostLoadAbstractType()

ObjectPtr dart::MessageDeserializationCluster::PostLoadAbstractType ( MessageDeserializer d)
protected

Definition at line 470 of file message_snapshot.cc.

471 {
475 AbstractType& type = AbstractType::Handle(d->zone());
476 Code& code = Code::Handle(d->zone());
477 for (intptr_t id = start_index_; id < stop_index_; id++) {
478 type ^= d->Ref(id);
479
481 type.InitializeTypeTestingStubNonAtomic(code);
482
483 type ^= ClassFinalizer::FinalizeType(type, finalization);
484 d->UpdateRef(id, type);
485 }
486 return nullptr;
487}
GLenum type
static AbstractTypePtr FinalizeType(const AbstractType &type, FinalizationKind finalization=kCanonicalize)
static Object & Handle()
Definition: object.h:407
static CodePtr DefaultCodeForType(const AbstractType &type, bool lazy_specialize=true)
VULKAN_HPP_DEFAULT_DISPATCH_LOADER_DYNAMIC_STORAGE auto & d
Definition: main.cc:19

◆ PostLoadApi()

virtual void dart::MessageDeserializationCluster::PostLoadApi ( ApiMessageDeserializer d)
inlinevirtual

Reimplemented in dart::TypedDataViewMessageDeserializationCluster.

Definition at line 126 of file message_snapshot.cc.

126{}

◆ PostLoadLinkedHash()

ObjectPtr dart::MessageDeserializationCluster::PostLoadLinkedHash ( MessageDeserializer d)
protected

Definition at line 489 of file message_snapshot.cc.

490 {
492 Array& maps = Array::Handle(d->zone(), d->refs());
493 maps = maps.Slice(start_index_, stop_index_ - start_index_,
494 /*with_type_argument=*/false);
496}
static ObjectPtr RehashObjectsInDartCollection(Thread *thread, const Object &array_or_growable_array)
Definition: dart_entry.cc:792
#define ASSERT(E)

◆ ReadEdges()

virtual void dart::MessageDeserializationCluster::ReadEdges ( MessageDeserializer d)
inlinevirtual

◆ ReadEdgesApi()

virtual void dart::MessageDeserializationCluster::ReadEdgesApi ( ApiMessageDeserializer d)
inlinevirtual

◆ ReadNodes()

virtual void dart::MessageDeserializationCluster::ReadNodes ( MessageDeserializer d)
pure virtual

◆ ReadNodesApi()

virtual void dart::MessageDeserializationCluster::ReadNodesApi ( ApiMessageDeserializer d)
inlinevirtual

◆ ReadNodesWrapped()

void dart::MessageDeserializationCluster::ReadNodesWrapped ( MessageDeserializer d)

Definition at line 457 of file message_snapshot.cc.

457 {
458 start_index_ = d->next_index();
459 this->ReadNodes(d);
460 stop_index_ = d->next_index();
461}
virtual void ReadNodes(MessageDeserializer *d)=0

◆ ReadNodesWrappedApi()

void dart::MessageDeserializationCluster::ReadNodesWrappedApi ( ApiMessageDeserializer d)

Definition at line 463 of file message_snapshot.cc.

464 {
465 start_index_ = d->next_index();
466 this->ReadNodesApi(d);
467 stop_index_ = d->next_index();
468}
virtual void ReadNodesApi(ApiMessageDeserializer *d)

Member Data Documentation

◆ is_canonical_

const bool dart::MessageDeserializationCluster::is_canonical_
protected

Definition at line 139 of file message_snapshot.cc.

◆ name_

const char* const dart::MessageDeserializationCluster::name_
protected

Definition at line 138 of file message_snapshot.cc.

◆ start_index_

intptr_t dart::MessageDeserializationCluster::start_index_
protected

Definition at line 141 of file message_snapshot.cc.

◆ stop_index_

intptr_t dart::MessageDeserializationCluster::stop_index_
protected

Definition at line 142 of file message_snapshot.cc.


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