Flutter Engine
The Flutter Engine
|
#include <raw_object.h>
Classes | |
class | AlwaysSetBit |
class | CanonicalBit |
class | CardRememberedBit |
class | ClassIdTag |
class | ImmutableBit |
class | NewBit |
class | NotMarkedBit |
class | OldAndNotRememberedBit |
class | ReservedBit |
class | SizeTag |
Public Types | |
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 Member Functions | |
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) |
Static Public Attributes | |
static constexpr intptr_t | kGenerationalBarrierMask = 1 << kNewBit |
static constexpr intptr_t | kIncrementalBarrierMask = 1 << kNotMarkedBit |
static constexpr intptr_t | kBarrierOverlapShift = 2 |
Protected Member Functions | |
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) |
Static Protected Member Functions | |
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) |
Static Protected Attributes | |
static constexpr bool | kContainsCompressedPointers = false |
static constexpr bool | kContainsPointerFields = false |
Friends | |
class | StoreBufferUpdateVisitor |
class | Array |
class | ByteBuffer |
class | CidRewriteVisitor |
class | Closure |
class | Code |
class | Pointer |
class | Double |
class | DynamicLibrary |
class | ForwardPointersVisitor |
class | FreeListElement |
class | Function |
class | GCMarker |
class | GCSweeper |
class | ExternalTypedData |
class | GrowableObjectArray |
template<bool > | |
class | MarkingVisitorBase |
class | Mint |
class | Object |
class | OneByteString |
class | UntaggedInstance |
class | Scavenger |
template<bool > | |
class | ScavengerVisitorBase |
class | ImageReader |
class | ImageWriter |
class | AssemblyImageWriter |
class | BlobImageWriter |
class | Deserializer |
class | String |
class | WeakProperty |
class | Instance |
class | StackFrame |
class | CodeLookupTableBuilder |
class | ObjectLocator |
class | WriteBarrierUpdateVisitor |
class | OffsetsTable |
class | ObjectCopyBase |
uword | TagsFromUntaggedObject (UntaggedObject *) |
void | SetNewSpaceTaggingWord (ObjectPtr, classid_t, uint32_t) |
void | ReportImpossibleNullError (intptr_t cid, StackFrame *caller_frame, Thread *thread) |
Definition at line 158 of file raw_object.h.
Definition at line 162 of file raw_object.h.
|
inline |
Definition at line 331 of file raw_object.h.
|
inline |
Definition at line 335 of file raw_object.h.
|
inline |
Definition at line 315 of file raw_object.h.
|
inline |
Definition at line 319 of file raw_object.h.
|
inline |
Definition at line 348 of file raw_object.h.
|
inline |
Definition at line 352 of file raw_object.h.
dart::UntaggedObject::COMPILE_ASSERT | ( | kBitsPerByte *sizeof(ClassIdTagType) >= | kClassIdTagSize | ) |
dart::UntaggedObject::COMPILE_ASSERT | ( | kCardRememberedBit | = =0 | ) |
dart::UntaggedObject::COMPILE_ASSERT | ( | kClassIdTagMax | = =(1<< kClassIdTagSize) - 1 | ) |
dart::UntaggedObject::COMPILE_ASSERT | ( | kNewBit+ | kBarrierOverlapShift = =kOldAndNotRememberedBit | ) |
dart::UntaggedObject::COMPILE_ASSERT | ( | kNotMarkedBit+ | kBarrierOverlapShift = =kAlwaysSetBit | ) |
|
inline |
Definition at line 415 of file raw_object.h.
|
inline |
Definition at line 358 of file raw_object.h.
|
inlineprotected |
Definition at line 675 of file raw_object.h.
Definition at line 839 of file raw_object.h.
|
staticprotected |
Definition at line 1823 of file raw_object.h.
Definition at line 495 of file raw_object.h.
|
inline |
Definition at line 371 of file raw_object.h.
|
inlineprotected |
Definition at line 569 of file raw_object.h.
|
inline |
Definition at line 380 of file raw_object.h.
|
inline |
Definition at line 405 of file raw_object.h.
bool dart::UntaggedObject::InVMIsolateHeap | ( | ) | const |
Definition at line 20 of file raw_object.cc.
|
inline |
Definition at line 329 of file raw_object.h.
|
inlinestatic |
Definition at line 508 of file raw_object.h.
|
inline |
Definition at line 364 of file raw_object.h.
|
inline |
Definition at line 333 of file raw_object.h.
|
inline |
Definition at line 299 of file raw_object.h.
|
inlinestatic |
Definition at line 298 of file raw_object.h.
|
inline |
Definition at line 300 of file raw_object.h.
|
inline |
Definition at line 284 of file raw_object.h.
|
inline |
Definition at line 289 of file raw_object.h.
|
inline |
Definition at line 340 of file raw_object.h.
|
inlineprotected |
Definition at line 562 of file raw_object.h.
|
inlineprotected |
Definition at line 692 of file raw_object.h.
|
inlineprotected |
Definition at line 555 of file raw_object.h.
|
inlineprotected |
Definition at line 687 of file raw_object.h.
|
inline |
Definition at line 330 of file raw_object.h.
|
inline |
Definition at line 365 of file raw_object.h.
|
inline |
Definition at line 334 of file raw_object.h.
|
inline |
Definition at line 303 of file raw_object.h.
|
inline |
Definition at line 311 of file raw_object.h.
|
inline |
Definition at line 307 of file raw_object.h.
|
inlineprotected |
Definition at line 624 of file raw_object.h.
|
inlineprotected |
Definition at line 633 of file raw_object.h.
|
inlineprotected |
Definition at line 641 of file raw_object.h.
|
inlineprotected |
Definition at line 651 of file raw_object.h.
|
inlineprotected |
Definition at line 663 of file raw_object.h.
|
inlineprotected |
Definition at line 585 of file raw_object.h.
|
inlineprotected |
Definition at line 603 of file raw_object.h.
|
inlineprotected |
Definition at line 709 of file raw_object.h.
|
inlineprotected |
Definition at line 574 of file raw_object.h.
|
inlineprotected |
Definition at line 595 of file raw_object.h.
|
inlineprotected |
Definition at line 613 of file raw_object.h.
|
inlineprotected |
Definition at line 702 of file raw_object.h.
|
inline |
Definition at line 294 of file raw_object.h.
|
staticprotected |
Definition at line 3564 of file raw_object.h.
|
staticprotected |
Definition at line 3598 of file raw_object.h.
|
staticprotected |
Definition at line 3710 of file raw_object.h.
|
staticprotected |
Definition at line 851 of file raw_object.h.
Definition at line 504 of file raw_object.h.
|
inlinestatic |
Definition at line 501 of file raw_object.h.
|
inline |
Definition at line 325 of file raw_object.h.
|
inline |
Definition at line 344 of file raw_object.h.
void dart::UntaggedObject::Validate | ( | IsolateGroup * | isolate_group | ) | const |
Definition at line 42 of file raw_object.cc.
|
inline |
Definition at line 426 of file raw_object.h.
|
inline |
Definition at line 459 of file raw_object.h.
void dart::UntaggedObject::VisitPointersPrecise | ( | ObjectPointerVisitor * | visitor | ) |
Definition at line 375 of file raw_object.cc.
|
friend |
Definition at line 784 of file raw_object.h.
|
friend |
Definition at line 810 of file raw_object.h.
|
friend |
Definition at line 811 of file raw_object.h.
|
friend |
Definition at line 785 of file raw_object.h.
|
friend |
Definition at line 786 of file raw_object.h.
|
friend |
Definition at line 787 of file raw_object.h.
|
friend |
Definition at line 788 of file raw_object.h.
|
friend |
Definition at line 817 of file raw_object.h.
|
friend |
Definition at line 812 of file raw_object.h.
|
friend |
Definition at line 790 of file raw_object.h.
|
friend |
Definition at line 791 of file raw_object.h.
|
friend |
Definition at line 797 of file raw_object.h.
|
friend |
Definition at line 792 of file raw_object.h.
|
friend |
Definition at line 793 of file raw_object.h.
|
friend |
Definition at line 794 of file raw_object.h.
|
friend |
Definition at line 795 of file raw_object.h.
|
friend |
Definition at line 796 of file raw_object.h.
|
friend |
Definition at line 798 of file raw_object.h.
|
friend |
Definition at line 808 of file raw_object.h.
|
friend |
Definition at line 809 of file raw_object.h.
|
friend |
Definition at line 815 of file raw_object.h.
|
friend |
Definition at line 800 of file raw_object.h.
|
friend |
Definition at line 801 of file raw_object.h.
|
friend |
Definition at line 802 of file raw_object.h.
|
friend |
Definition at line 824 of file raw_object.h.
|
friend |
Definition at line 818 of file raw_object.h.
|
friend |
Definition at line 820 of file raw_object.h.
|
friend |
Definition at line 803 of file raw_object.h.
|
friend |
Definition at line 789 of file raw_object.h.
|
friend |
Definition at line 273 of file runtime_entry.cc.
|
friend |
Definition at line 805 of file raw_object.h.
|
friend |
Definition at line 807 of file raw_object.h.
Definition at line 229 of file object_graph_copy.cc.
|
friend |
Definition at line 816 of file raw_object.h.
|
friend |
Definition at line 778 of file raw_object.h.
|
friend |
Definition at line 813 of file raw_object.h.
|
friend |
Definition at line 224 of file object_graph_copy.cc.
|
friend |
Definition at line 804 of file raw_object.h.
|
friend |
Definition at line 814 of file raw_object.h.
|
friend |
Definition at line 819 of file raw_object.h.
|
staticconstexpr |
Definition at line 182 of file raw_object.h.
|
staticconstexprprotected |
Definition at line 527 of file raw_object.h.
|
staticconstexprprotected |
Definition at line 529 of file raw_object.h.
|
staticconstexpr |
Definition at line 180 of file raw_object.h.
|
staticconstexpr |
Definition at line 181 of file raw_object.h.