Flutter Engine
The Flutter Engine
|
#include <raw_object.h>
Classes | |
class | AlwaysSetBit |
class | CanonicalBit |
class | CardRememberedBit |
class | ClassIdTag |
class | ImmutableBit |
class | NewOrEvacuationCandidateBit |
class | NotMarkedBit |
class | OldAndNotRememberedBit |
class | ReservedBit |
class | SizeTag |
Public Types | |
enum | TagBits { kCardRememberedBit = 0 , kCanonicalBit = 1 , kNotMarkedBit = 2 , kNewOrEvacuationCandidateBit = 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 bool | IsEvacuationCandidate (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 |
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 159 of file raw_object.h.
Definition at line 163 of file raw_object.h.
|
inline |
Definition at line 352 of file raw_object.h.
|
inline |
Definition at line 356 of file raw_object.h.
|
inline |
Definition at line 343 of file raw_object.h.
|
inline |
Definition at line 317 of file raw_object.h.
|
inline |
Definition at line 321 of file raw_object.h.
|
inline |
Definition at line 369 of file raw_object.h.
|
inline |
Definition at line 373 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 | ( | kNewOrEvacuationCandidateBit+ | kBarrierOverlapShift = =kOldAndNotRememberedBit | ) |
dart::UntaggedObject::COMPILE_ASSERT | ( | kNotMarkedBit+ | kBarrierOverlapShift = =kAlwaysSetBit | ) |
|
inline |
Definition at line 436 of file raw_object.h.
|
inline |
Definition at line 379 of file raw_object.h.
|
inlineprotected |
Definition at line 696 of file raw_object.h.
Definition at line 860 of file raw_object.h.
|
staticprotected |
Definition at line 1844 of file raw_object.h.
Definition at line 516 of file raw_object.h.
|
inline |
Definition at line 392 of file raw_object.h.
|
inlineprotected |
Definition at line 590 of file raw_object.h.
|
inline |
Definition at line 401 of file raw_object.h.
|
inline |
Definition at line 426 of file raw_object.h.
bool dart::UntaggedObject::InVMIsolateHeap | ( | ) | const |
Definition at line 20 of file raw_object.cc.
|
inline |
Definition at line 350 of file raw_object.h.
|
inlinestatic |
Definition at line 529 of file raw_object.h.
|
inline |
Definition at line 385 of file raw_object.h.
|
inline |
Definition at line 332 of file raw_object.h.
|
inlinestatic |
Definition at line 329 of file raw_object.h.
|
inline |
Definition at line 354 of file raw_object.h.
|
inline |
Definition at line 304 of file raw_object.h.
|
inlinestatic |
Definition at line 303 of file raw_object.h.
|
inline |
Definition at line 288 of file raw_object.h.
|
inline |
Definition at line 293 of file raw_object.h.
|
inline |
Definition at line 361 of file raw_object.h.
|
inlineprotected |
Definition at line 583 of file raw_object.h.
|
inlineprotected |
Definition at line 713 of file raw_object.h.
|
inlineprotected |
Definition at line 576 of file raw_object.h.
|
inlineprotected |
Definition at line 708 of file raw_object.h.
|
inline |
Definition at line 351 of file raw_object.h.
|
inline |
Definition at line 386 of file raw_object.h.
|
inline |
Definition at line 355 of file raw_object.h.
|
inline |
Definition at line 335 of file raw_object.h.
|
inline |
Definition at line 339 of file raw_object.h.
|
inline |
Definition at line 305 of file raw_object.h.
|
inline |
Definition at line 313 of file raw_object.h.
|
inline |
Definition at line 309 of file raw_object.h.
|
inlineprotected |
Definition at line 645 of file raw_object.h.
|
inlineprotected |
Definition at line 662 of file raw_object.h.
|
inlineprotected |
Definition at line 606 of file raw_object.h.
|
inlineprotected |
Definition at line 730 of file raw_object.h.
|
inlineprotected |
Definition at line 595 of file raw_object.h.
|
inlineprotected |
Definition at line 634 of file raw_object.h.
|
inlineprotected |
Definition at line 723 of file raw_object.h.
|
inline |
Definition at line 298 of file raw_object.h.
|
inline |
Definition at line 299 of file raw_object.h.
|
staticprotected |
Definition at line 3587 of file raw_object.h.
|
staticprotected |
Definition at line 3621 of file raw_object.h.
|
staticprotected |
Definition at line 3733 of file raw_object.h.
|
staticprotected |
Definition at line 872 of file raw_object.h.
Definition at line 525 of file raw_object.h.
|
inlinestatic |
Definition at line 522 of file raw_object.h.
|
inline |
Definition at line 327 of file raw_object.h.
|
inline |
Definition at line 365 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 447 of file raw_object.h.
|
inline |
Definition at line 480 of file raw_object.h.
void dart::UntaggedObject::VisitPointersPrecise | ( | ObjectPointerVisitor * | visitor | ) |
Definition at line 371 of file raw_object.cc.
|
friend |
Definition at line 805 of file raw_object.h.
|
friend |
Definition at line 831 of file raw_object.h.
|
friend |
Definition at line 832 of file raw_object.h.
|
friend |
Definition at line 806 of file raw_object.h.
|
friend |
Definition at line 807 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 838 of file raw_object.h.
|
friend |
Definition at line 833 of file raw_object.h.
|
friend |
Definition at line 811 of file raw_object.h.
|
friend |
Definition at line 812 of file raw_object.h.
|
friend |
Definition at line 818 of file raw_object.h.
|
friend |
Definition at line 813 of file raw_object.h.
|
friend |
Definition at line 814 of file raw_object.h.
|
friend |
Definition at line 815 of file raw_object.h.
|
friend |
Definition at line 816 of file raw_object.h.
|
friend |
Definition at line 817 of file raw_object.h.
|
friend |
Definition at line 819 of file raw_object.h.
|
friend |
Definition at line 829 of file raw_object.h.
|
friend |
Definition at line 830 of file raw_object.h.
|
friend |
Definition at line 836 of file raw_object.h.
|
friend |
Definition at line 821 of file raw_object.h.
|
friend |
Definition at line 822 of file raw_object.h.
|
friend |
Definition at line 823 of file raw_object.h.
|
friend |
Definition at line 845 of file raw_object.h.
|
friend |
Definition at line 839 of file raw_object.h.
|
friend |
Definition at line 841 of file raw_object.h.
|
friend |
Definition at line 824 of file raw_object.h.
|
friend |
Definition at line 810 of file raw_object.h.
|
friend |
Definition at line 273 of file runtime_entry.cc.
|
friend |
Definition at line 826 of file raw_object.h.
|
friend |
Definition at line 828 of file raw_object.h.
Definition at line 229 of file object_graph_copy.cc.
|
friend |
Definition at line 837 of file raw_object.h.
|
friend |
Definition at line 799 of file raw_object.h.
|
friend |
Definition at line 834 of file raw_object.h.
|
friend |
Definition at line 224 of file object_graph_copy.cc.
|
friend |
Definition at line 825 of file raw_object.h.
|
friend |
Definition at line 835 of file raw_object.h.
|
friend |
Definition at line 840 of file raw_object.h.
|
staticconstexpr |
Definition at line 184 of file raw_object.h.
|
staticconstexprprotected |
Definition at line 548 of file raw_object.h.
|
staticconstexprprotected |
Definition at line 550 of file raw_object.h.
|
staticconstexpr |
Definition at line 181 of file raw_object.h.
|
staticconstexpr |
Definition at line 183 of file raw_object.h.