Flutter Engine
The Flutter Engine
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 {
23
24 ForwardingCorpse* result = reinterpret_cast<ForwardingCorpse*>(addr);
25
26 uword tags = result->tags_; // Carry-over any identity hash.
30 tags = UntaggedObject::NotMarkedBit::update(true, 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:188
static ObjectPtr null()
Definition: object.h:433
static constexpr uword update(intptr_t size, uword tag)
Definition: raw_object.h:212
static constexpr intptr_t kMaxSizeTag
Definition: raw_object.h:201
static constexpr bool IsAligned(T x, uintptr_t alignment, uintptr_t offset=0)
Definition: utils.h:92
#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:208

◆ 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: