Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Classes | Public Member Functions | Static Public Member Functions | List of all members
dart::ForwardingCorpse Class Reference

#include <become.h>

Classes

class  FakeInstance
 

Public Member Functions

ObjectPtr target () const
 
void set_target (ObjectPtr target)
 
intptr_t HeapSize ()
 
intptr_t HeapSize (uword tags)
 

Static Public Member Functions

static ForwardingCorpseAsForwarder (uword addr, intptr_t size)
 
static void Init ()
 

Detailed Description

Definition at line 25 of file become.h.

Member Function Documentation

◆ AsForwarder()

ForwardingCorpse * dart::ForwardingCorpse::AsForwarder ( uword  addr,
intptr_t  size 
)
static

Definition at line 20 of file become.cc.

20 {
21 ASSERT(size >= kObjectAlignment);
23
24 ForwardingCorpse* result = reinterpret_cast<ForwardingCorpse*>(addr);
25
26 uword tags = result->tags_; // Carry-over any identity hash.
27 tags = UntaggedObject::SizeTag::update(size, tags);
30 tags = UntaggedObject::NotMarkedBit::update(true, tags);
32 tags = UntaggedObject::NewBit::update(!is_old, tags);
33
34 result->tags_ = tags;
36 *result->SizeAddress() = size;
37 }
38 result->set_target(Object::null());
39 return result;
40}
static constexpr uword update(ClassIdTagType value, uword original)
Definition bitfield.h:190
static ObjectPtr null()
Definition object.h:433
static constexpr uword update(intptr_t size, uword tag)
Definition raw_object.h:209
static constexpr intptr_t kMaxSizeTag
Definition raw_object.h:198
static constexpr bool IsAligned(T x, uintptr_t alignment, uintptr_t offset=0)
Definition utils.h:77
#define ASSERT(E)
GAsyncResult * result
static constexpr intptr_t kOldObjectAlignmentOffset
static constexpr intptr_t kNewObjectAlignmentOffset
@ kForwardingCorpse
Definition class_id.h:225
uintptr_t uword
Definition globals.h:501
static constexpr intptr_t kObjectAlignment
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

◆ HeapSize() [1/2]

intptr_t dart::ForwardingCorpse::HeapSize ( )
inline

Definition at line 30 of file become.h.

30{ return HeapSize(tags_); }
intptr_t HeapSize()
Definition become.h:30

◆ HeapSize() [2/2]

intptr_t dart::ForwardingCorpse::HeapSize ( uword  tags)
inline

Definition at line 31 of file become.h.

31 {
33 if (size != 0) return size;
34 return *SizeAddress();
35 }
static constexpr uword decode(uword tag)
Definition raw_object.h:205

◆ Init()

void dart::ForwardingCorpse::Init ( )
static

Definition at line 42 of file become.cc.

42 {
43 ASSERT(sizeof(ForwardingCorpse) == kObjectAlignment);
44 ASSERT(OFFSET_OF(ForwardingCorpse, tags_) == Object::tags_offset());
45}
static intptr_t tags_offset()
Definition object.h:346
#define OFFSET_OF(type, field)
Definition globals.h:138

◆ set_target()

void dart::ForwardingCorpse::set_target ( ObjectPtr  target)
inline

Definition at line 28 of file become.h.

28{ target_ = target; }
ObjectPtr target() const
Definition become.h:27

◆ target()

ObjectPtr dart::ForwardingCorpse::target ( ) const
inline

Definition at line 27 of file become.h.

27{ return target_; }

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