|
static ObjectPtr | LoadPointer (ObjectPtr src, intptr_t offset) |
|
static CompressedObjectPtr | LoadCompressedPointer (ObjectPtr src, intptr_t offset) |
|
static compressed_uword | LoadCompressedNonPointerWord (ObjectPtr src, intptr_t offset) |
|
static void | StorePointerBarrier (ObjectPtr obj, intptr_t offset, ObjectPtr value) |
|
static void | StoreCompressedPointerBarrier (ObjectPtr obj, intptr_t offset, ObjectPtr value) |
|
static void | StorePointerNoBarrier (ObjectPtr obj, intptr_t offset, ObjectPtr value) |
|
template<typename T = ObjectPtr> |
static void | StoreCompressedPointerNoBarrier (ObjectPtr obj, intptr_t offset, T value) |
|
static void | StoreCompressedNonPointerWord (ObjectPtr obj, intptr_t offset, compressed_uword value) |
|
Definition at line 766 of file object_graph_copy.cc.
◆ ObjectCopyBase()
dart::ObjectCopyBase::ObjectCopyBase |
( |
Thread * |
thread | ) |
|
|
inlineexplicit |
Definition at line 768 of file object_graph_copy.cc.
771 zone_(thread->zone()),
772 heap_(thread->isolate_group()->heap()),
778 thread->isolate_group()->object_store()->expando_class())),
Object & exception_unexpected_object_
ClassTable * class_table_
intptr_t GetClassId() const
◆ ~ObjectCopyBase()
dart::ObjectCopyBase::~ObjectCopyBase |
( |
| ) |
|
|
inline |
◆ CanCopyObject()
DART_FORCE_INLINE bool dart::ObjectCopyBase::CanCopyObject |
( |
uword |
tags, |
|
|
ObjectPtr |
object |
|
) |
| |
|
inlineprotected |
Definition at line 842 of file object_graph_copy.cc.
842 {
847 "Illegal argument in isolate message: object is unsendable - %s ("
848 "see restrictions listed at `SendPort.send()` documentation "
849 "for more information)",
852 return false;
853 }
855 return true;
856 }
857#define HANDLE_ILLEGAL_CASE(Type) \
858 case k##Type##Cid: { \
859 exception_msg_ = \
860 "Illegal argument in isolate message: " \
861 "(object is a " #Type ")"; \
862 exception_unexpected_object_ = object; \
863 return false; \
864 }
865
867
868
869
878 default:
879 return true;
880 }
881 }
static constexpr ClassIdTagType decode(uword value)
ClassPtr At(intptr_t cid) const
static bool IsIsolateUnsendable(ClassPtr clazz)
static char * SCreate(Zone *zone, const char *format,...) PRINTF_ATTRIBUTE(2
const char * exception_msg_
virtual const char * ToCString() const
#define HANDLE_ILLEGAL_CASE(Type)
◆ LoadCompressedNonPointerWord()
◆ LoadCompressedPointer()
◆ LoadPointer()
Definition at line 783 of file object_graph_copy.cc.
783 {
784 return src.untag()->LoadPointer(
reinterpret_cast<ObjectPtr*
>(
785 reinterpret_cast<uint8_t*
>(
src.untag()) +
offset));
786 }
◆ StoreCompressedLargeArrayPointerBarrier()
void dart::ObjectCopyBase::StoreCompressedLargeArrayPointerBarrier |
( |
ObjectPtr |
obj, |
|
|
intptr_t |
offset, |
|
|
ObjectPtr |
value |
|
) |
| |
|
inlineprotected |
Definition at line 813 of file object_graph_copy.cc.
815 {
816 obj.untag()->StoreCompressedArrayPointer(
818 reinterpret_cast<uint8_t*
>(obj.untag()) +
offset),
820 }
◆ StoreCompressedNonPointerWord()
◆ StoreCompressedPointerBarrier()
static void dart::ObjectCopyBase::StoreCompressedPointerBarrier |
( |
ObjectPtr |
obj, |
|
|
intptr_t |
offset, |
|
|
ObjectPtr |
value |
|
) |
| |
|
inlinestaticprotected |
Definition at line 805 of file object_graph_copy.cc.
807 {
808 obj.untag()->StoreCompressedPointer(
810 reinterpret_cast<uint8_t*
>(obj.untag()) +
offset),
811 value);
812 }
◆ StoreCompressedPointerNoBarrier()
template<typename
T = ObjectPtr>
static void dart::ObjectCopyBase::StoreCompressedPointerNoBarrier |
( |
ObjectPtr |
obj, |
|
|
intptr_t |
offset, |
|
|
T |
value |
|
) |
| |
|
inlinestaticprotected |
◆ StorePointerBarrier()
static void dart::ObjectCopyBase::StorePointerBarrier |
( |
ObjectPtr |
obj, |
|
|
intptr_t |
offset, |
|
|
ObjectPtr |
value |
|
) |
| |
|
inlinestaticprotected |
Definition at line 797 of file object_graph_copy.cc.
799 {
800 obj.untag()->StorePointer(
801 reinterpret_cast<ObjectPtr*>(reinterpret_cast<uint8_t*>(obj.untag()) +
803 value);
804 }
◆ StorePointerNoBarrier()
static void dart::ObjectCopyBase::StorePointerNoBarrier |
( |
ObjectPtr |
obj, |
|
|
intptr_t |
offset, |
|
|
ObjectPtr |
value |
|
) |
| |
|
inlinestaticprotected |
Definition at line 821 of file object_graph_copy.cc.
823 {
824 *reinterpret_cast<ObjectPtr*>(reinterpret_cast<uint8_t*>(obj.untag()) +
826 }
◆ class_table_
◆ exception_msg_
const char* dart::ObjectCopyBase::exception_msg_ = nullptr |
|
protected |
◆ exception_unexpected_object_
Object& dart::ObjectCopyBase::exception_unexpected_object_ |
|
protected |
◆ expando_cid_
intptr_t dart::ObjectCopyBase::expando_cid_ |
|
protected |
◆ heap_
Heap* dart::ObjectCopyBase::heap_ |
|
protected |
◆ heap_base_
uword dart::ObjectCopyBase::heap_base_ |
|
protected |
◆ new_space_
◆ thread_
Thread* dart::ObjectCopyBase::thread_ |
|
protected |
◆ tmp_
Object& dart::ObjectCopyBase::tmp_ |
|
protected |
◆ to_
Object& dart::ObjectCopyBase::to_ |
|
protected |
◆ zone_
Zone* dart::ObjectCopyBase::zone_ |
|
protected |
The documentation for this class was generated from the following file: