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

#include <raw_object.h>

Inheritance diagram for dart::UntaggedTypedData:
dart::UntaggedTypedDataBase dart::UntaggedPointerBase dart::UntaggedInstance dart::UntaggedObject

Public Member Functions

void RecomputeDataField ()
 
- Public Member Functions inherited from dart::UntaggedPointerBase
uint8_t * data ()
 
- Public Member Functions inherited from dart::UntaggedObject
 COMPILE_ASSERT (kNotMarkedBit+kBarrierOverlapShift==kAlwaysSetBit)
 
 COMPILE_ASSERT (kNewBit+kBarrierOverlapShift==kOldAndNotRememberedBit)
 
 COMPILE_ASSERT (kCardRememberedBit==0)
 
 COMPILE_ASSERT (kBitsPerByte *sizeof(ClassIdTagType) >=kClassIdTagSize)
 
 COMPILE_ASSERT (kClassIdTagMax==(1<< kClassIdTagSize) - 1)
 
bool IsNewObject () const
 
bool IsOldObject () const
 
uword tags () const
 
bool IsMarked () const
 
bool IsMarkedIgnoreRace () const
 
void SetMarkBit ()
 
void SetMarkBitUnsynchronized ()
 
void SetMarkBitRelease ()
 
void ClearMarkBit ()
 
void ClearMarkBitUnsynchronized ()
 
DART_WARN_UNUSED_RESULT bool TryAcquireMarkBit ()
 
bool IsCanonical () const
 
void SetCanonical ()
 
void ClearCanonical ()
 
bool IsImmutable () const
 
void SetImmutable ()
 
void ClearImmutable ()
 
bool InVMIsolateHeap () const
 
bool IsRemembered () const
 
bool TryAcquireRememberedBit ()
 
void ClearRememberedBit ()
 
void ClearRememberedBitUnsynchronized ()
 
DART_FORCE_INLINE void EnsureInRememberedSet (Thread *thread)
 
bool IsCardRemembered () const
 
void SetCardRememberedBitUnsynchronized ()
 
intptr_t GetClassId () const
 
intptr_t HeapSize () const
 
intptr_t HeapSize (uword tags) const
 
bool Contains (uword addr) const
 
void Validate (IsolateGroup *isolate_group) const
 
intptr_t VisitPointers (ObjectPointerVisitor *visitor)
 
template<class V >
DART_FORCE_INLINE intptr_t VisitPointersNonvirtual (V *visitor)
 
void VisitPointersPrecise (ObjectPointerVisitor *visitor)
 

Static Public Member Functions

static intptr_t payload_offset ()
 
- Static Public Member Functions inherited from dart::UntaggedObject
static bool IsMarked (uword tags)
 
static ObjectPtr FromAddr (uword addr)
 
static uword ToAddr (const UntaggedObject *raw_obj)
 
static uword ToAddr (const ObjectPtr raw_obj)
 
static bool IsCanonical (intptr_t value)
 

Protected Member Functions

uint8_t * internal_data ()
 
const uint8_t * internal_data () const
 
uint8_t * data ()
 
const uint8_t * data () const
 
- Protected Member Functions inherited from dart::UntaggedTypedDataBase
 COMPRESSED_SMI_FIELD (SmiPtr, length)
 
- Protected Member Functions inherited from dart::UntaggedObject
template<typename type , std::memory_order order = std::memory_order_relaxed>
type LoadPointer (type const *addr) const
 
template<typename type , typename compressed_type , std::memory_order order = std::memory_order_relaxed>
type LoadCompressedPointer (compressed_type const *addr) const
 
uword heap_base () const
 
template<typename type , std::memory_order order = std::memory_order_relaxed>
void StorePointer (type const *addr, type value)
 
template<typename type , typename compressed_type , std::memory_order order = std::memory_order_relaxed>
void StoreCompressedPointer (compressed_type const *addr, type value)
 
template<typename type >
void StorePointer (type const *addr, type value, Thread *thread)
 
template<typename type , typename compressed_type >
void StoreCompressedPointer (compressed_type const *addr, type value, Thread *thread)
 
template<typename type >
void StorePointerUnaligned (type const *addr, type value, Thread *thread)
 
template<typename type , std::memory_order order = std::memory_order_relaxed, typename value_type = type>
void StoreArrayPointer (type const *addr, value_type value)
 
template<typename type , typename value_type = type>
void StoreArrayPointer (type const *addr, value_type value, Thread *thread)
 
template<typename type , typename compressed_type , std::memory_order order>
void StoreCompressedArrayPointer (compressed_type const *addr, type value)
 
template<typename type , typename compressed_type , std::memory_order order>
void StoreCompressedArrayPointer (compressed_type const *addr, type value, Thread *thread)
 
template<typename type , typename compressed_type >
void StoreCompressedArrayPointer (compressed_type const *addr, type value, Thread *thread)
 
template<typename type , typename compressed_type , std::memory_order order = std::memory_order_relaxed>
type ExchangeCompressedPointer (compressed_type const *addr, type value)
 
template<std::memory_order order = std::memory_order_relaxed>
SmiPtr LoadSmi (SmiPtr const *addr) const
 
template<std::memory_order order = std::memory_order_relaxed>
SmiPtr LoadCompressedSmi (CompressedSmiPtr const *addr) const
 
template<typename type , std::memory_order order = std::memory_order_relaxed>
void StoreSmi (type const *addr, type value)
 
template<std::memory_order order = std::memory_order_relaxed>
void StoreCompressedSmi (CompressedSmiPtr const *addr, SmiPtr value)
 

Friends

class Api
 
class Instance
 
class DeltaEncodedTypedDataDeserializationCluster
 
class NativeEntryData
 
class Object
 
class ObjectPool
 
class ObjectPoolDeserializationCluster
 
class ObjectPoolSerializationCluster
 
class UntaggedObjectPool
 

Additional Inherited Members

- Public Types inherited from dart::UntaggedObject
enum  TagBits {
  kCardRememberedBit = 0 , kCanonicalBit = 1 , kNotMarkedBit = 2 , kNewBit = 3 ,
  kAlwaysSetBit = 4 , kOldAndNotRememberedBit = 5 , kImmutableBit = 6 , kReservedBit = 7 ,
  kSizeTagPos = kReservedBit + 1 , kSizeTagSize = 4 , kClassIdTagPos = kSizeTagPos + kSizeTagSize , kClassIdTagSize = 20 ,
  kHashTagPos = kClassIdTagPos + kClassIdTagSize , kHashTagSize = 32
}
 
- Static Public Attributes inherited from dart::UntaggedInstance
static constexpr bool kContainsCompressedPointers = false
 
- Static Public Attributes inherited from dart::UntaggedObject
static constexpr intptr_t kGenerationalBarrierMask = 1 << kNewBit
 
static constexpr intptr_t kIncrementalBarrierMask = 1 << kNotMarkedBit
 
static constexpr intptr_t kBarrierOverlapShift = 2
 
- Static Protected Member Functions inherited from dart::UntaggedObject
template<typename T >
static DART_FORCE_INLINE uword from_offset ()
 
template<typename T >
static DART_FORCE_INLINE uword to_offset (intptr_t length=0)
 
template<>
DART_FORCE_INLINE uword from_offset ()
 
template<>
DART_FORCE_INLINE uword to_offset (intptr_t length)
 
template<>
DART_FORCE_INLINE uword to_offset (intptr_t length)
 
template<>
DART_FORCE_INLINE uword to_offset (intptr_t length)
 
- Protected Attributes inherited from dart::UntaggedPointerBase
uint8_t * data_
 
- Static Protected Attributes inherited from dart::UntaggedObject
static constexpr bool kContainsCompressedPointers = false
 
static constexpr bool kContainsPointerFields = false
 

Detailed Description

Definition at line 3089 of file raw_object.h.

Member Function Documentation

◆ data() [1/2]

uint8_t * dart::UntaggedTypedData::data ( )
inlineprotected

Definition at line 3105 of file raw_object.h.

3105 {
3107 return data_;
3108 }
#define ASSERT(E)

◆ data() [2/2]

const uint8_t * dart::UntaggedTypedData::data ( ) const
inlineprotected

Definition at line 3109 of file raw_object.h.

3109 {
3111 return data_;
3112 }

◆ internal_data() [1/2]

uint8_t * dart::UntaggedTypedData::internal_data ( )
inlineprotected

Definition at line 3102 of file raw_object.h.

3102{ OPEN_ARRAY_START(uint8_t, uint8_t); }
#define OPEN_ARRAY_START(type, align)
Definition globals.h:154

◆ internal_data() [2/2]

const uint8_t * dart::UntaggedTypedData::internal_data ( ) const
inlineprotected

Definition at line 3103 of file raw_object.h.

3103{ OPEN_ARRAY_START(uint8_t, uint8_t); }

◆ payload_offset()

static intptr_t dart::UntaggedTypedData::payload_offset ( )
inlinestatic

Definition at line 3093 of file raw_object.h.

3093 {
3094 return OFFSET_OF_RETURNED_VALUE(UntaggedTypedData, internal_data);
3095 }
#define OFFSET_OF_RETURNED_VALUE(type, accessor)
Definition globals.h:143

◆ RecomputeDataField()

void dart::UntaggedTypedData::RecomputeDataField ( )
inline

Definition at line 3098 of file raw_object.h.

3098{ data_ = internal_data(); }

Friends And Related Symbol Documentation

◆ Api

friend class Api
friend

Definition at line 3114 of file raw_object.h.

◆ DeltaEncodedTypedDataDeserializationCluster

Definition at line 3116 of file raw_object.h.

◆ Instance

friend class Instance
friend

Definition at line 3115 of file raw_object.h.

◆ NativeEntryData

friend class NativeEntryData
friend

Definition at line 3117 of file raw_object.h.

◆ Object

friend class Object
friend

Definition at line 3118 of file raw_object.h.

◆ ObjectPool

friend class ObjectPool
friend

Definition at line 3119 of file raw_object.h.

◆ ObjectPoolDeserializationCluster

friend class ObjectPoolDeserializationCluster
friend

Definition at line 3120 of file raw_object.h.

◆ ObjectPoolSerializationCluster

friend class ObjectPoolSerializationCluster
friend

Definition at line 3121 of file raw_object.h.

◆ UntaggedObjectPool

friend class UntaggedObjectPool
friend

Definition at line 3122 of file raw_object.h.


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