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

#include <raw_object.h>

Public Types

typedef intptr_t Type
 

Static Public Member Functions

static constexpr uword encode (intptr_t size)
 
static constexpr uword decode (uword tag)
 
static constexpr uword update (intptr_t size, uword tag)
 
static constexpr bool SizeFits (intptr_t size)
 

Static Public Attributes

static constexpr intptr_t kMaxSizeTagInUnitsOfAlignment
 
static constexpr intptr_t kMaxSizeTag
 

Detailed Description

Definition at line 192 of file raw_object.h.

Member Typedef Documentation

◆ Type

Definition at line 194 of file raw_object.h.

Member Function Documentation

◆ decode()

static constexpr uword dart::UntaggedObject::SizeTag::decode ( uword  tag)
inlinestaticconstexpr

Definition at line 205 of file raw_object.h.

205 {
206 return TagValueToSize(SizeBits::decode(tag));
207 }
static constexpr intptr_t decode(uword value)
Definition bitfield.h:173

◆ encode()

static constexpr uword dart::UntaggedObject::SizeTag::encode ( intptr_t  size)
inlinestaticconstexpr

Definition at line 201 of file raw_object.h.

201 {
202 return SizeBits::encode(SizeToTagValue(size));
203 }
static constexpr uword encode(intptr_t value)
Definition bitfield.h:167

◆ SizeFits()

static constexpr bool dart::UntaggedObject::SizeTag::SizeFits ( intptr_t  size)
inlinestaticconstexpr

Definition at line 213 of file raw_object.h.

213 {
214 assert(Utils::IsAligned(size, kObjectAlignment));
215 return (size <= kMaxSizeTag);
216 }
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
static constexpr intptr_t kObjectAlignment

◆ update()

static constexpr uword dart::UntaggedObject::SizeTag::update ( intptr_t  size,
uword  tag 
)
inlinestaticconstexpr

Definition at line 209 of file raw_object.h.

209 {
210 return SizeBits::update(SizeToTagValue(size), tag);
211 }
static constexpr uword update(intptr_t value, uword original)
Definition bitfield.h:190

Member Data Documentation

◆ kMaxSizeTag

constexpr intptr_t dart::UntaggedObject::SizeTag::kMaxSizeTag
staticconstexpr
Initial value:

Definition at line 198 of file raw_object.h.

◆ kMaxSizeTagInUnitsOfAlignment

constexpr intptr_t dart::UntaggedObject::SizeTag::kMaxSizeTagInUnitsOfAlignment
staticconstexpr
Initial value:

Definition at line 196 of file raw_object.h.


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