Flutter Engine
The Flutter Engine
|
#include <object.h>
Public Types | |
enum | Entries { kInstanceCidOrSignature = 0 , kInstanceTypeArguments = 1 , kInstantiatorTypeArguments = 2 , kFunctionTypeArguments = 3 , kInstanceParentFunctionTypeArguments = 4 , kInstanceDelayedFunctionTypeArguments = 5 , kDestinationType = 6 , kTestResult = 7 , kTestEntryLength = 8 } |
Public Types inherited from dart::Object | |
enum | NameVisibility { kInternalName = 0 , kScrubbedName , kUserVisibleName } |
enum class | NameDisambiguation { kYes , kNo } |
using | UntaggedObjectType = UntaggedObject |
using | ObjectPtrType = ObjectPtr |
Public Member Functions | |
intptr_t | NumberOfChecks () const |
intptr_t | NumEntries () const |
intptr_t | AddCheck (const Object &instance_class_id_or_signature, const AbstractType &destination_type, const TypeArguments &instance_type_arguments, const TypeArguments &instantiator_type_arguments, const TypeArguments &function_type_arguments, const TypeArguments &instance_parent_function_type_arguments, const TypeArguments &instance_delayed_type_arguments, const Bool &test_result) const |
void | GetCheck (intptr_t ix, Object *instance_class_id_or_signature, AbstractType *destination_type, TypeArguments *instance_type_arguments, TypeArguments *instantiator_type_arguments, TypeArguments *function_type_arguments, TypeArguments *instance_parent_function_type_arguments, TypeArguments *instance_delayed_type_arguments, Bool *test_result) const |
void | GetCurrentCheck (intptr_t ix, Object *instance_class_id_or_signature, AbstractType *destination_type, TypeArguments *instance_type_arguments, TypeArguments *instantiator_type_arguments, TypeArguments *function_type_arguments, TypeArguments *instance_parent_function_type_arguments, TypeArguments *instance_delayed_type_arguments, Bool *test_result) const |
bool | GetNextCheck (intptr_t *ix, Object *instance_class_id_or_signature, AbstractType *destination_type, TypeArguments *instance_type_arguments, TypeArguments *instantiator_type_arguments, TypeArguments *function_type_arguments, TypeArguments *instance_parent_function_type_arguments, TypeArguments *instance_delayed_type_arguments, Bool *test_result) const |
bool | HasCheck (const Object &instance_class_id_or_signature, const AbstractType &destination_type, const TypeArguments &instance_type_arguments, const TypeArguments &instantiator_type_arguments, const TypeArguments &function_type_arguments, const TypeArguments &instance_parent_function_type_arguments, const TypeArguments &instance_delayed_type_arguments, intptr_t *index, Bool *result) const |
void | WriteEntryToBuffer (Zone *zone, BaseTextBuffer *buffer, intptr_t index, const char *line_prefix=nullptr) const |
void | WriteToBuffer (Zone *zone, BaseTextBuffer *buffer, const char *line_prefix=nullptr) const |
void | Reset () const |
bool | Equals (const SubtypeTestCache &other) const |
bool | IsHash () const |
SubtypeTestCachePtr | Copy (Thread *thread) const |
ArrayPtr | cache () const |
intptr_t | num_inputs () const |
intptr_t | num_occupied () const |
bool | IsOccupied (intptr_t index) 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 SubtypeTestCachePtr | New (intptr_t num_inputs) |
static intptr_t | InstanceSize () |
static intptr_t | cache_offset () |
static intptr_t | num_inputs_offset () |
static intptr_t | UsedInputsForType (const AbstractType &type) |
static constexpr intptr_t | MaxEntriesForCacheAllocatedFor (intptr_t count) |
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) |
Static Public Attributes | |
static constexpr intptr_t | kMaxInputs = kTestResult |
static constexpr intptr_t | kMaxLinearCacheEntries = 30 |
static constexpr intptr_t | kMaxLinearCacheSize |
Static Public Attributes inherited from dart::Object | |
static constexpr intptr_t | kHashBits = 30 |
static const ClassId | kClassId = kObjectCid |
Friends | |
class | Class |
class | FieldInvalidator |
class | VMSerializationRoots |
class | VMDeserializationRoots |
Additional Inherited Members | |
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 |
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_ |
Definition at line 7688 of file object.h.
intptr_t dart::SubtypeTestCache::AddCheck | ( | const Object & | instance_class_id_or_signature, |
const AbstractType & | destination_type, | ||
const TypeArguments & | instance_type_arguments, | ||
const TypeArguments & | instantiator_type_arguments, | ||
const TypeArguments & | function_type_arguments, | ||
const TypeArguments & | instance_parent_function_type_arguments, | ||
const TypeArguments & | instance_delayed_type_arguments, | ||
const Bool & | test_result | ||
) | const |
Definition at line 18978 of file object.cc.
ArrayPtr dart::SubtypeTestCache::cache | ( | ) | const |
Definition at line 18938 of file object.cc.
|
inlinestatic |
SubtypeTestCachePtr dart::SubtypeTestCache::Copy | ( | Thread * | thread | ) | const |
Definition at line 19639 of file object.cc.
bool dart::SubtypeTestCache::Equals | ( | const SubtypeTestCache & | other | ) | const |
void dart::SubtypeTestCache::GetCheck | ( | intptr_t | ix, |
Object * | instance_class_id_or_signature, | ||
AbstractType * | destination_type, | ||
TypeArguments * | instance_type_arguments, | ||
TypeArguments * | instantiator_type_arguments, | ||
TypeArguments * | function_type_arguments, | ||
TypeArguments * | instance_parent_function_type_arguments, | ||
TypeArguments * | instance_delayed_type_arguments, | ||
Bool * | test_result | ||
) | const |
Definition at line 19346 of file object.cc.
void dart::SubtypeTestCache::GetCurrentCheck | ( | intptr_t | ix, |
Object * | instance_class_id_or_signature, | ||
AbstractType * | destination_type, | ||
TypeArguments * | instance_type_arguments, | ||
TypeArguments * | instantiator_type_arguments, | ||
TypeArguments * | function_type_arguments, | ||
TypeArguments * | instance_parent_function_type_arguments, | ||
TypeArguments * | instance_delayed_type_arguments, | ||
Bool * | test_result | ||
) | const |
Definition at line 19367 of file object.cc.
bool dart::SubtypeTestCache::GetNextCheck | ( | intptr_t * | ix, |
Object * | instance_class_id_or_signature, | ||
AbstractType * | destination_type, | ||
TypeArguments * | instance_type_arguments, | ||
TypeArguments * | instantiator_type_arguments, | ||
TypeArguments * | function_type_arguments, | ||
TypeArguments * | instance_parent_function_type_arguments, | ||
TypeArguments * | instance_delayed_type_arguments, | ||
Bool * | test_result | ||
) | const |
Definition at line 19435 of file object.cc.
bool dart::SubtypeTestCache::HasCheck | ( | const Object & | instance_class_id_or_signature, |
const AbstractType & | destination_type, | ||
const TypeArguments & | instance_type_arguments, | ||
const TypeArguments & | instantiator_type_arguments, | ||
const TypeArguments & | function_type_arguments, | ||
const TypeArguments & | instance_parent_function_type_arguments, | ||
const TypeArguments & | instance_delayed_type_arguments, | ||
intptr_t * | index, | ||
Bool * | result | ||
) | const |
Definition at line 19464 of file object.cc.
|
inlinestatic |
Definition at line 7807 of file object.h.
bool dart::SubtypeTestCache::IsHash | ( | ) | const |
bool dart::SubtypeTestCache::IsOccupied | ( | intptr_t | index | ) | const |
Definition at line 19658 of file object.cc.
|
inlinestaticconstexpr |
Definition at line 7843 of file object.h.
|
static |
Definition at line 18924 of file object.cc.
|
inline |
|
inlinestatic |
|
inline |
intptr_t dart::SubtypeTestCache::NumberOfChecks | ( | ) | const |
intptr_t dart::SubtypeTestCache::NumEntries | ( | ) | const |
void dart::SubtypeTestCache::Reset | ( | ) | const |
|
static |
void dart::SubtypeTestCache::WriteEntryToBuffer | ( | Zone * | zone, |
BaseTextBuffer * | buffer, | ||
intptr_t | index, | ||
const char * | line_prefix = nullptr |
||
) | const |
Definition at line 19496 of file object.cc.
void dart::SubtypeTestCache::WriteToBuffer | ( | Zone * | zone, |
BaseTextBuffer * | buffer, | ||
const char * | line_prefix = nullptr |
||
) | const |
|
friend |
|
friend |
|
friend |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |