Flutter Engine
The Flutter Engine
Public Member Functions | Friends | List of all members
dart::SlowForwardMap Class Reference
Inheritance diagram for dart::SlowForwardMap:
dart::ForwardMapBase

Public Member Functions

 SlowForwardMap (Thread *thread, IdentityMap *map)
 
ObjectPtr ForwardedObject (ObjectPtr object)
 
void Insert (const Object &from, const Object &to, intptr_t size)
 
void AddTransferable (const TransferableTypedData &from, const TransferableTypedData &to)
 
void AddWeakProperty (const WeakProperty &from)
 
void AddWeakReference (const WeakReference &from)
 
const ExternalTypedDataAddExternalTypedData (ExternalTypedDataPtr to)
 
void AddObjectToRehash (const Object &to)
 
void AddExpandoToRehash (const Object &to)
 
void FinalizeTransferables ()
 
void FinalizeExternalTypedData ()
 
- Public Member Functions inherited from dart::ForwardMapBase
 ForwardMapBase (Thread *thread)
 

Friends

class SlowObjectCopy
 
class SlowObjectCopyBase
 
class ObjectGraphCopier
 

Additional Inherited Members

- Protected Member Functions inherited from dart::ForwardMapBase
void FinalizeTransferable (const TransferableTypedData &from, const TransferableTypedData &to)
 
void FinalizeExternalTypedData (const ExternalTypedData &to)
 
- Protected Attributes inherited from dart::ForwardMapBase
Threadthread_
 
Zonezone_
 

Detailed Description

Definition at line 682 of file object_graph_copy.cc.

Constructor & Destructor Documentation

◆ SlowForwardMap()

dart::SlowForwardMap::SlowForwardMap ( Thread thread,
IdentityMap map 
)
inlineexplicit

Definition at line 684 of file object_graph_copy.cc.

685 : ForwardMapBase(thread),
686 map_(map),
687 from_to_transition_(thread->zone(), 2),
688 from_to_(GrowableObjectArray::Handle(thread->zone(),
690 transferables_from_to_(thread->zone(), 0) {
691 from_to_transition_.Resize(2);
692 from_to_transition_[0] = &PassiveObject::Handle();
693 from_to_transition_[1] = &PassiveObject::Handle();
694 from_to_.Add(Object::null_object());
695 from_to_.Add(Object::null_object());
696 fill_cursor_ = 2;
697 }
ForwardMapBase(Thread *thread)
void Add(const Object &value, Heap::Space space=Heap::kNew) const
Definition: object.cc:24991
static GrowableObjectArrayPtr New(Heap::Space space=Heap::kNew)
Definition: object.h:11144
static Object & Handle()
Definition: object.h:407
static PassiveObject & Handle()
Definition: object.h:1077
SI auto map(std::index_sequence< I... >, Fn &&fn, const Args &... args) -> skvx::Vec< sizeof...(I), decltype(fn(args[0]...))>
Definition: SkVx.h:680

Member Function Documentation

◆ AddExpandoToRehash()

void dart::SlowForwardMap::AddExpandoToRehash ( const Object to)
inline

Definition at line 727 of file object_graph_copy.cc.

727 {
728 expandos_to_rehash_.Add(&Object::Handle(to.ptr()));
729 }

◆ AddExternalTypedData()

const ExternalTypedData & dart::SlowForwardMap::AddExternalTypedData ( ExternalTypedDataPtr  to)
inline

Definition at line 719 of file object_graph_copy.cc.

719 {
720 auto to_handle = &ExternalTypedData::Handle(to);
721 external_typed_data_.Add(to_handle);
722 return *to_handle;
723 }

◆ AddObjectToRehash()

void dart::SlowForwardMap::AddObjectToRehash ( const Object to)
inline

Definition at line 724 of file object_graph_copy.cc.

724 {
725 objects_to_rehash_.Add(&Object::Handle(to.ptr()));
726 }

◆ AddTransferable()

void dart::SlowForwardMap::AddTransferable ( const TransferableTypedData from,
const TransferableTypedData to 
)
inline

Definition at line 708 of file object_graph_copy.cc.

709 {
710 transferables_from_to_.Add(&TransferableTypedData::Handle(from.ptr()));
711 transferables_from_to_.Add(&TransferableTypedData::Handle(to.ptr()));
712 }

◆ AddWeakProperty()

void dart::SlowForwardMap::AddWeakProperty ( const WeakProperty from)
inline

Definition at line 713 of file object_graph_copy.cc.

713 {
714 weak_properties_.Add(&WeakProperty::Handle(from.ptr()));
715 }

◆ AddWeakReference()

void dart::SlowForwardMap::AddWeakReference ( const WeakReference from)
inline

Definition at line 716 of file object_graph_copy.cc.

716 {
717 weak_references_.Add(&WeakReference::Handle(from.ptr()));
718 }

◆ FinalizeExternalTypedData()

void dart::SlowForwardMap::FinalizeExternalTypedData ( )
inline

Definition at line 739 of file object_graph_copy.cc.

739 {
740 for (intptr_t i = 0; i < external_typed_data_.length(); i++) {
741 auto to = external_typed_data_[i];
743 }
744 }
void FinalizeExternalTypedData(const ExternalTypedData &to)

◆ FinalizeTransferables()

void dart::SlowForwardMap::FinalizeTransferables ( )
inline

Definition at line 731 of file object_graph_copy.cc.

731 {
732 for (intptr_t i = 0; i < transferables_from_to_.length(); i += 2) {
733 auto from = transferables_from_to_[i];
734 auto to = transferables_from_to_[i + 1];
735 FinalizeTransferable(*from, *to);
736 }
737 }
void FinalizeTransferable(const TransferableTypedData &from, const TransferableTypedData &to)

◆ ForwardedObject()

ObjectPtr dart::SlowForwardMap::ForwardedObject ( ObjectPtr  object)
inline

Definition at line 699 of file object_graph_copy.cc.

699 {
700 return map_->ForwardedObject(object, SlowFromTo(from_to_));
701 }
DART_FORCE_INLINE ObjectPtr ForwardedObject(const S &object, T from_to)

◆ Insert()

void dart::SlowForwardMap::Insert ( const Object from,
const Object to,
intptr_t  size 
)
inline

Definition at line 702 of file object_graph_copy.cc.

702 {
703 map_->Insert(from, to, SlowFromTo(from_to_),
704 /* check_for_safepoint */ true);
705 allocated_bytes += size;
706 }
DART_FORCE_INLINE void Insert(const S &from, const S &to, T from_to, bool check_for_safepoint)
it will be possible to load the file into Perfetto s trace viewer disable asset Prevents usage of any non test fonts unless they were explicitly Loaded via prefetched default font Indicates whether the embedding started a prefetch of the default font manager before creating the engine run In non interactive keep the shell running after the Dart script has completed enable serial On low power devices with low core running concurrent GC tasks on threads can cause them to contend with the UI thread which could potentially lead to jank This option turns off all concurrent GC activities domain network JSON encoded network policy per domain This overrides the DisallowInsecureConnections switch Embedder can specify whether to allow or disallow insecure connections at a domain level old gen heap size
Definition: switches.h:259

Friends And Related Function Documentation

◆ ObjectGraphCopier

friend class ObjectGraphCopier
friend

Definition at line 749 of file object_graph_copy.cc.

◆ SlowObjectCopy

friend class SlowObjectCopy
friend

Definition at line 747 of file object_graph_copy.cc.

◆ SlowObjectCopyBase

friend class SlowObjectCopyBase
friend

Definition at line 748 of file object_graph_copy.cc.


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