Flutter Engine
The Flutter Engine
|
#include <object.h>
Public Member Functions | |
virtual bool | OperatorEquals (const Instance &other) const |
bool | IsIdenticalTo (const Instance &other) const |
virtual bool | CanonicalizeEquals (const Instance &other) const |
virtual uint32_t | CanonicalizeHash () const |
intptr_t | SizeFromClass () const |
InstancePtr | Canonicalize (Thread *thread) const |
virtual InstancePtr | CanonicalizeLocked (Thread *thread) const |
virtual void | CanonicalizeFieldsLocked (Thread *thread) const |
InstancePtr | CopyShallowToOldSpace (Thread *thread) const |
ObjectPtr | GetField (const Field &field) const |
void | SetField (const Field &field, const Object &value) const |
AbstractTypePtr | GetType (Heap::Space space) const |
virtual TypeArgumentsPtr | GetTypeArguments () const |
virtual void | SetTypeArguments (const TypeArguments &value) const |
bool | IsInstanceOf (const AbstractType &other, const TypeArguments &other_instantiator_type_arguments, const TypeArguments &other_function_type_arguments) const |
bool | IsAssignableTo (const AbstractType &other, const TypeArguments &other_instantiator_type_arguments, const TypeArguments &other_function_type_arguments) const |
bool | IsValidNativeIndex (int index) const |
intptr_t * | NativeFieldsDataAddr () const |
intptr_t | GetNativeField (int index) const |
void | GetNativeFields (uint16_t num_fields, intptr_t *field_values) const |
void | SetNativeFields (uint16_t num_fields, const intptr_t *field_values) const |
uint16_t | NumNativeFields () const |
void | SetNativeField (int index, intptr_t value) const |
bool | IsCallable (Function *function) const |
ObjectPtr | Invoke (const String &selector, const Array &arguments, const Array &argument_names, bool respect_reflectable=true, bool check_is_entrypoint=false) const |
ObjectPtr | InvokeGetter (const String &selector, bool respect_reflectable=true, bool check_is_entrypoint=false) const |
ObjectPtr | InvokeSetter (const String &selector, const Instance &argument, bool respect_reflectable=true, bool check_is_entrypoint=false) const |
ObjectPtr | EvaluateCompiledExpression (const Class &klass, const ExternalTypedData &kernel_buffer, const Array &type_definitions, const Array &arguments, const TypeArguments &type_arguments) const |
virtual ObjectPtr | HashCode () const |
IntegerPtr | IdentityHashCode (Thread *thread) const |
virtual bool | IsPointer () const |
Public Member Functions inherited from dart::Object | |
virtual | ~Object () |
ObjectPtr | ptr () const |
void | operator= (ObjectPtr value) |
bool | IsCanonical () const |
void | SetCanonical () const |
void | ClearCanonical () const |
bool | IsImmutable () const |
void | SetImmutable () const |
void | ClearImmutable () const |
intptr_t | GetClassId () const |
ClassPtr | clazz () const |
CLASS_LIST_FOR_HANDLES (DEFINE_CLASS_TESTER) | |
bool | IsNull () const |
virtual const char * | ToCString () const |
void | PrintJSON (JSONStream *stream, bool ref=true) const |
virtual void | PrintJSONImpl (JSONStream *stream, bool ref) const |
void | PrintImplementationFields (JSONStream *stream) const |
virtual void | PrintImplementationFieldsImpl (const JSONArray &jsarr_fields) const |
virtual const char * | JSONType () const |
virtual StringPtr | DictionaryName () const |
bool | IsNew () const |
bool | IsOld () const |
bool | InVMIsolateHeap () const |
void | Print () const |
Static Public Member Functions | |
static bool | NullIsAssignableTo (const AbstractType &other) |
static bool | NullIsAssignableTo (const AbstractType &other, const TypeArguments &other_instantiator_type_arguments, const TypeArguments &other_function_type_arguments) |
static ObjectPtr | EvaluateCompiledExpression (Thread *thread, const Object &receiver, const Library &library, const Class &klass, const ExternalTypedData &kernel_buffer, const Array &type_definitions, const Array ¶m_values, const TypeArguments &type_param_values) |
static intptr_t | UnroundedSize () |
static intptr_t | InstanceSize () |
static InstancePtr | New (const Class &cls, Heap::Space space=Heap::kNew) |
static InstancePtr | NewAlreadyFinalized (const Class &cls, Heap::Space space=Heap::kNew) |
static intptr_t | DataOffsetFor (intptr_t cid) |
static intptr_t | ElementSizeFor (intptr_t cid) |
static intptr_t | NextFieldOffset () |
static intptr_t | NativeFieldsOffset () |
Static Public Member Functions inherited from dart::Object | |
static ObjectPtr | RawCast (ObjectPtr obj) |
static constexpr bool | ContainsCompressedPointers () |
static intptr_t | tags_offset () |
static Object & | Handle () |
static Object & | Handle (Zone *zone) |
static Object & | Handle (ObjectPtr ptr) |
static Object & | Handle (Zone *zone, ObjectPtr ptr) |
static Object & | ZoneHandle () |
static Object & | ZoneHandle (Zone *zone) |
static Object & | ZoneHandle (ObjectPtr ptr) |
static Object & | ZoneHandle (Zone *zone, ObjectPtr ptr) |
static Object * | ReadOnlyHandle () |
static ObjectPtr | null () |
static void | set_vm_isolate_snapshot_object_table (const Array &table) |
static ClassPtr | class_class () |
static ClassPtr | dynamic_class () |
static ClassPtr | void_class () |
static ClassPtr | type_parameters_class () |
static ClassPtr | type_arguments_class () |
static ClassPtr | patch_class_class () |
static ClassPtr | function_class () |
static ClassPtr | closure_data_class () |
static ClassPtr | ffi_trampoline_data_class () |
static ClassPtr | field_class () |
static ClassPtr | script_class () |
static ClassPtr | library_class () |
static ClassPtr | namespace_class () |
static ClassPtr | kernel_program_info_class () |
static ClassPtr | code_class () |
static ClassPtr | instructions_class () |
static ClassPtr | instructions_section_class () |
static ClassPtr | instructions_table_class () |
static ClassPtr | object_pool_class () |
static ClassPtr | pc_descriptors_class () |
static ClassPtr | code_source_map_class () |
static ClassPtr | compressed_stackmaps_class () |
static ClassPtr | var_descriptors_class () |
static ClassPtr | exception_handlers_class () |
static ClassPtr | context_class () |
static ClassPtr | context_scope_class () |
static ClassPtr | sentinel_class () |
static ClassPtr | api_error_class () |
static ClassPtr | language_error_class () |
static ClassPtr | unhandled_exception_class () |
static ClassPtr | unwind_error_class () |
static ClassPtr | singletargetcache_class () |
static ClassPtr | unlinkedcall_class () |
static ClassPtr | monomorphicsmiablecall_class () |
static ClassPtr | icdata_class () |
static ClassPtr | megamorphic_cache_class () |
static ClassPtr | subtypetestcache_class () |
static ClassPtr | loadingunit_class () |
static ClassPtr | weak_serialization_reference_class () |
static ClassPtr | weak_array_class () |
static void | InitNullAndBool (IsolateGroup *isolate_group) |
static void | Init (IsolateGroup *isolate_group) |
static void | InitVtables () |
static void | FinishInit (IsolateGroup *isolate_group) |
static void | FinalizeVMIsolate (IsolateGroup *isolate_group) |
static void | FinalizeReadOnlyObject (ObjectPtr object) |
static void | Cleanup () |
static ErrorPtr | Init (IsolateGroup *isolate_group, const uint8_t *kernel_buffer, intptr_t kernel_buffer_size) |
static void | MakeUnusedSpaceTraversable (const Object &obj, intptr_t original_size, intptr_t used_size) |
static intptr_t | InstanceSize () |
template<class FakeObject > | |
static void | VerifyBuiltinVtable (intptr_t cid) |
static void | VerifyBuiltinVtables () |
static bool | ShouldHaveImmutabilityBitSet (classid_t class_id) |
Protected Member Functions | |
virtual void | PrintSharedInstanceJSON (JSONObject *jsobj, bool ref, bool include_id=true) const |
Protected Member Functions inherited from dart::Object | |
Object () | |
uword | raw_value () const |
void | setPtr (ObjectPtr value, intptr_t default_cid) |
void | CheckHandle () const |
cpp_vtable | vtable () const |
void | set_vtable (cpp_vtable value) |
bool | Contains (uword addr) const |
template<typename type , std::memory_order order = std::memory_order_relaxed> | |
type | LoadPointer (type const *addr) const |
template<typename type , std::memory_order order = std::memory_order_relaxed> | |
void | StorePointer (type const *addr, type value) const |
template<typename type , typename compressed_type , std::memory_order order = std::memory_order_relaxed> | |
void | StoreCompressedPointer (compressed_type const *addr, type value) const |
template<typename type > | |
void | StorePointerUnaligned (type const *addr, type value, Thread *thread) const |
void | StoreSmi (SmiPtr const *addr, SmiPtr value) const |
template<typename FieldType > | |
void | StoreSimd128 (const FieldType *addr, simd128_value_t value) const |
template<typename FieldType > | |
FieldType | LoadNonPointer (const FieldType *addr) const |
template<typename FieldType , std::memory_order order> | |
FieldType | LoadNonPointer (const FieldType *addr) const |
template<typename FieldType , typename ValueType > | |
void | StoreNonPointer (const FieldType *addr, ValueType value) const |
template<typename FieldType , typename ValueType , std::memory_order order> | |
void | StoreNonPointer (const FieldType *addr, ValueType value) const |
template<typename FieldType > | |
FieldType * | UnsafeMutableNonPointer (const FieldType *addr) const |
CLASS_LIST (STORE_NON_POINTER_ILLEGAL_TYPE) | |
void | UnimplementedMethod () const |
void | AddCommonObjectProperties (JSONObject *jsobj, const char *protocol_type, bool ref) const |
Friends | |
class | ByteBuffer |
class | Class |
class | Closure |
class | Pointer |
class | DeferredObject |
class | FlowGraphSerializer |
class | FlowGraphDeserializer |
class | RegExp |
class | StubCode |
class | TypedDataView |
class | InstanceSerializationCluster |
class | InstanceDeserializationCluster |
class | ClassDeserializationCluster |
class | InstanceMorpher |
class | Obfuscator |
Additional Inherited Members | |
Public Types inherited from dart::Object | |
enum | NameVisibility { kInternalName = 0 , kScrubbedName , kUserVisibleName } |
enum class | NameDisambiguation { kYes , kNo } |
using | UntaggedObjectType = UntaggedObject |
using | ObjectPtrType = ObjectPtr |
Static Public Attributes inherited from dart::Object | |
static constexpr intptr_t | kHashBits = 30 |
static const ClassId | kClassId = kObjectCid |
Static Protected Member Functions inherited from dart::Object | |
static DART_NOINLINE Object & | HandleImpl (Zone *zone, ObjectPtr ptr, intptr_t default_cid) |
static DART_NOINLINE Object & | ZoneHandleImpl (Zone *zone, ObjectPtr ptr, intptr_t default_cid) |
static DART_NOINLINE Object * | ReadOnlyHandleImpl (intptr_t cid) |
static ObjectPtr | Allocate (intptr_t cls_id, intptr_t size, Heap::Space space, bool compressed, uword ptr_field_start_offset, uword ptr_field_end_offset) |
template<typename T > | |
static DART_FORCE_INLINE T::ObjectPtrType | Allocate (Heap::Space space) |
template<typename T > | |
static DART_FORCE_INLINE T::ObjectPtrType | Allocate (Heap::Space space, intptr_t elements) |
template<typename T > | |
static DART_FORCE_INLINE T::ObjectPtrType | AllocateVariant (intptr_t class_id, Heap::Space space) |
template<typename T > | |
static DART_FORCE_INLINE T::ObjectPtrType | AllocateVariant (intptr_t class_id, Heap::Space space, intptr_t elements) |
static constexpr intptr_t | RoundedAllocationSize (intptr_t size) |
static ObjectPtr | Clone (const Object &orig, Heap::Space space, bool load_with_relaxed_atomics=false) |
template<typename T > | |
static DART_FORCE_INLINE uword | from_offset () |
template<typename T > | |
static DART_FORCE_INLINE uword | to_offset (intptr_t length=0) |
Protected Attributes inherited from dart::Object | |
ObjectPtr | ptr_ |
InstancePtr dart::Instance::Canonicalize | ( | Thread * | thread | ) | const |
Definition at line 20444 of file object.cc.
|
virtual |
Reimplemented in dart::AbstractType, dart::Integer, dart::Double, dart::String, dart::Array, dart::GrowableObjectArray, dart::Float32x4, dart::Int32x4, dart::Float64x2, dart::Record, dart::TypedData, dart::LinkedHashBase, dart::Closure, and dart::RegExp.
Definition at line 20259 of file object.cc.
|
virtual |
Reimplemented in dart::Array, dart::Record, dart::LinkedHashBase, and dart::Closure.
Definition at line 20405 of file object.cc.
|
virtual |
Reimplemented in dart::TypeArguments, dart::AbstractType, dart::Integer, dart::Double, dart::String, dart::Bool, dart::Array, dart::Float32x4, dart::Int32x4, dart::Float64x2, dart::Record, dart::TypedData, dart::LinkedHashBase, dart::Closure, and dart::RegExp.
Definition at line 20316 of file object.cc.
|
virtual |
Reimplemented in dart::TypeArguments, dart::AbstractType, dart::String, and dart::GrowableObjectArray.
Definition at line 20450 of file object.cc.
InstancePtr dart::Instance::CopyShallowToOldSpace | ( | Thread * | thread | ) | const |
|
static |
Definition at line 20988 of file object.cc.
|
static |
Definition at line 20967 of file object.cc.
ObjectPtr dart::Instance::EvaluateCompiledExpression | ( | const Class & | klass, |
const ExternalTypedData & | kernel_buffer, | ||
const Array & | type_definitions, | ||
const Array & | arguments, | ||
const TypeArguments & | type_arguments | ||
) | const |
Definition at line 4833 of file object.cc.
|
static |
Definition at line 4847 of file object.cc.
Definition at line 20475 of file object.cc.
|
inline |
|
inline |
AbstractTypePtr dart::Instance::GetType | ( | Heap::Space | space | ) | const |
Definition at line 20520 of file object.cc.
|
virtual |
Reimplemented in dart::Array, dart::GrowableObjectArray, dart::LinkedHashBase, and dart::FutureOr.
Definition at line 20570 of file object.cc.
|
virtual |
Reimplemented in dart::Integer, and dart::String.
Definition at line 20212 of file object.cc.
IntegerPtr dart::Instance::IdentityHashCode | ( | Thread * | thread | ) | const |
Definition at line 20219 of file object.cc.
|
inlinestatic |
Definition at line 8337 of file object.h.
ObjectPtr dart::Instance::Invoke | ( | const String & | selector, |
const Array & | arguments, | ||
const Array & | argument_names, | ||
bool | respect_reflectable = true , |
||
bool | check_is_entrypoint = false |
||
) | const |
Definition at line 20143 of file object.cc.
ObjectPtr dart::Instance::InvokeGetter | ( | const String & | selector, |
bool | respect_reflectable = true , |
||
bool | check_is_entrypoint = false |
||
) | const |
Definition at line 20031 of file object.cc.
ObjectPtr dart::Instance::InvokeSetter | ( | const String & | selector, |
const Instance & | argument, | ||
bool | respect_reflectable = true , |
||
bool | check_is_entrypoint = false |
||
) | const |
Definition at line 20094 of file object.cc.
bool dart::Instance::IsAssignableTo | ( | const AbstractType & | other, |
const TypeArguments & | other_instantiator_type_arguments, | ||
const TypeArguments & | other_function_type_arguments | ||
) | const |
Definition at line 20629 of file object.cc.
bool dart::Instance::IsCallable | ( | Function * | function | ) | const |
Definition at line 20913 of file object.cc.
bool dart::Instance::IsIdenticalTo | ( | const Instance & | other | ) | const |
Definition at line 20861 of file object.cc.
bool dart::Instance::IsInstanceOf | ( | const AbstractType & | other, |
const TypeArguments & | other_instantiator_type_arguments, | ||
const TypeArguments & | other_function_type_arguments | ||
) | const |
Definition at line 20614 of file object.cc.
|
virtual |
|
inline |
intptr_t * dart::Instance::NativeFieldsDataAddr | ( | ) | const |
|
inlinestatic |
|
static |
Definition at line 20935 of file object.cc.
|
static |
Definition at line 20943 of file object.cc.
|
inlinestatic |
|
static |
Definition at line 20674 of file object.cc.
|
static |
|
inline |
|
virtual |
Reimplemented in dart::Integer, dart::Double, and dart::String.
Definition at line 20855 of file object.cc.
|
protectedvirtual |
Definition at line 1260 of file object_service.cc.
Definition at line 20494 of file object.cc.
void dart::Instance::SetNativeField | ( | int | index, |
intptr_t | value | ||
) | const |
Definition at line 20883 of file object.cc.
void dart::Instance::SetNativeFields | ( | uint16_t | num_fields, |
const intptr_t * | field_values | ||
) | const |
Definition at line 20896 of file object.cc.
|
virtual |
Reimplemented in dart::Array, dart::GrowableObjectArray, and dart::LinkedHashBase.
|
inline |
Definition at line 8216 of file object.h.
|
inlinestatic |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |