Flutter Engine
The Flutter Engine
Classes | Public Member Functions | Static Public Member Functions | Static Public Attributes | Friends | List of all members
dart::Record Class Reference

#include <object.h>

Inheritance diagram for dart::Record:
dart::Instance dart::Object

Classes

struct  ArrayTraits
 

Public Member Functions

intptr_t num_fields () const
 
RecordShape shape () const
 
ObjectPtr FieldAt (intptr_t field_index) const
 
void SetFieldAt (intptr_t field_index, const Object &value) const
 
virtual bool CanonicalizeEquals (const Instance &other) const
 
virtual uint32_t CanonicalizeHash () const
 
virtual void CanonicalizeFieldsLocked (Thread *thread) const
 
RecordTypePtr GetRecordType () const
 
intptr_t GetFieldIndexByName (Thread *thread, const String &field_name) const
 
ArrayPtr GetFieldNames (Thread *thread) const
 
- Public Member Functions inherited from dart::Instance
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 intptr_t NumFields (RecordPtr ptr)
 
static intptr_t shape_offset ()
 
static intptr_t field_offset (intptr_t index)
 
static intptr_t field_index_at_offset (intptr_t offset_in_bytes)
 
static intptr_t InstanceSize ()
 
static intptr_t InstanceSize (intptr_t num_fields)
 
static RecordPtr New (RecordShape shape, Heap::Space space=Heap::kNew)
 
static intptr_t GetPositionalFieldIndexFromFieldName (const String &field_name)
 
- Static Public Member Functions inherited from dart::Instance
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 &param_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 ObjectHandle ()
 
static ObjectHandle (Zone *zone)
 
static ObjectHandle (ObjectPtr ptr)
 
static ObjectHandle (Zone *zone, ObjectPtr ptr)
 
static ObjectZoneHandle ()
 
static ObjectZoneHandle (Zone *zone)
 
static ObjectZoneHandle (ObjectPtr ptr)
 
static ObjectZoneHandle (Zone *zone, ObjectPtr ptr)
 
static ObjectReadOnlyHandle ()
 
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 kBytesPerElement = kCompressedWordSize
 
static constexpr intptr_t kMaxElements = RecordShape::kMaxNumFields
 
- Static Public Attributes inherited from dart::Object
static constexpr intptr_t kHashBits = 30
 
static const ClassId kClassId = kObjectCid
 

Friends

class Class
 
class Object
 

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
 
- Protected Member Functions inherited from dart::Instance
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
 
- Static Protected Member Functions inherited from dart::Object
static DART_NOINLINE ObjectHandleImpl (Zone *zone, ObjectPtr ptr, intptr_t default_cid)
 
static DART_NOINLINE ObjectZoneHandleImpl (Zone *zone, ObjectPtr ptr, intptr_t default_cid)
 
static DART_NOINLINE ObjectReadOnlyHandleImpl (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_
 

Detailed Description

Definition at line 11423 of file object.h.

Member Function Documentation

◆ CanonicalizeEquals()

bool dart::Record::CanonicalizeEquals ( const Instance other) const
virtual

Reimplemented from dart::Instance.

Definition at line 27778 of file object.cc.

27778 {
27779 if (this->ptr() == other.ptr()) {
27780 return true;
27781 }
27782
27783 if (!other.IsRecord() || other.IsNull()) {
27784 return false;
27785 }
27786
27787 const Record& other_rec = Record::Cast(other);
27788 if (shape() != other_rec.shape()) {
27789 return false;
27790 }
27791
27792 const intptr_t num_fields = this->num_fields();
27793 for (intptr_t i = 0; i < num_fields; ++i) {
27794 if (this->FieldAt(i) != other_rec.FieldAt(i)) {
27795 return false;
27796 }
27797 }
27798 return true;
27799}
ObjectPtr ptr() const
Definition: object.h:332
RecordShape shape() const
Definition: object.h:11430
intptr_t num_fields() const
Definition: object.h:11425
ObjectPtr FieldAt(intptr_t field_index) const
Definition: object.h:11433

◆ CanonicalizeFieldsLocked()

void dart::Record::CanonicalizeFieldsLocked ( Thread thread) const
virtual

Reimplemented from dart::Instance.

Definition at line 27819 of file object.cc.

27819 {
27820 Zone* zone = thread->zone();
27821 Instance& obj = Instance::Handle(zone);
27822 const intptr_t num_fields = this->num_fields();
27823 for (intptr_t i = 0; i < num_fields; ++i) {
27824 obj ^= FieldAt(i);
27825 obj = obj.CanonicalizeLocked(thread);
27826 SetFieldAt(i, obj);
27827 }
27828}
static Object & Handle()
Definition: object.h:407
void SetFieldAt(intptr_t field_index, const Object &value) const
Definition: object.h:11436

◆ CanonicalizeHash()

uint32_t dart::Record::CanonicalizeHash ( ) const
virtual

Reimplemented from dart::Instance.

Definition at line 27801 of file object.cc.

27801 {
27802 Thread* thread = Thread::Current();
27803 uint32_t hash = thread->heap()->GetCanonicalHash(ptr());
27804 if (hash != 0) {
27805 return hash;
27806 }
27807 hash = shape().AsInt();
27808 Instance& element = Instance::Handle();
27809 const intptr_t num_fields = this->num_fields();
27810 for (intptr_t i = 0; i < num_fields; ++i) {
27811 element ^= FieldAt(i);
27812 hash = CombineHashes(hash, element.CanonicalizeHash());
27813 }
27815 thread->heap()->SetCanonicalHash(ptr(), hash);
27816 return hash;
27817}
static uint32_t hash(const SkShaderBase::GradientInfo &v)
friend class Thread
Definition: object.h:1025
static constexpr intptr_t kHashBits
Definition: object.h:323
intptr_t AsInt() const
Definition: object.h:11322
static Thread * Current()
Definition: thread.h:362
uint32_t CombineHashes(uint32_t hash, uint32_t other_hash)
Definition: hash.h:12
uint32_t FinalizeHash(uint32_t hash, intptr_t hashbits=kBitsPerInt32)
Definition: hash.h:20

◆ field_index_at_offset()

static intptr_t dart::Record::field_index_at_offset ( intptr_t  offset_in_bytes)
inlinestatic

Definition at line 11452 of file object.h.

11452 {
11453 const intptr_t index =
11454 (offset_in_bytes - OFFSET_OF_RETURNED_VALUE(UntaggedRecord, data)) /
11456 ASSERT(index >= 0);
11457 return index;
11458 }
static constexpr intptr_t kBytesPerElement
Definition: object.h:11440
#define ASSERT(E)
static int8_t data[kExtLength]
#define OFFSET_OF_RETURNED_VALUE(type, accessor)
Definition: globals.h:143

◆ field_offset()

static intptr_t dart::Record::field_offset ( intptr_t  index)
inlinestatic

Definition at line 11448 of file object.h.

11448 {
11449 return OFFSET_OF_RETURNED_VALUE(UntaggedRecord, data) +
11450 kBytesPerElement * index;
11451 }

◆ FieldAt()

ObjectPtr dart::Record::FieldAt ( intptr_t  field_index) const
inline

Definition at line 11433 of file object.h.

11433 {
11434 return untag()->field(field_index);
11435 }
raw_obj untag() -> num_entries()) VARIABLE_COMPRESSED_VISITOR(Array, Smi::Value(raw_obj->untag() ->length())) VARIABLE_COMPRESSED_VISITOR(TypedData, TypedData::ElementSizeInBytes(raw_obj->GetClassId()) *Smi::Value(raw_obj->untag() ->length())) VARIABLE_COMPRESSED_VISITOR(Record, RecordShape(raw_obj->untag() ->shape()).num_fields()) VARIABLE_NULL_VISITOR(CompressedStackMaps, CompressedStackMaps::PayloadSizeOf(raw_obj)) VARIABLE_NULL_VISITOR(OneByteString, Smi::Value(raw_obj->untag() ->length())) VARIABLE_NULL_VISITOR(TwoByteString, Smi::Value(raw_obj->untag() ->length())) intptr_t UntaggedField::VisitFieldPointers(FieldPtr raw_obj, ObjectPointerVisitor *visitor)
Definition: raw_object.cc:558

◆ GetFieldIndexByName()

intptr_t dart::Record::GetFieldIndexByName ( Thread thread,
const String field_name 
) const

Definition at line 27862 of file object.cc.

27863 {
27864 ASSERT(field_name.IsSymbol());
27865 const intptr_t field_index =
27867 const Array& field_names = Array::Handle(GetFieldNames(thread));
27868 const intptr_t num_positional_fields = num_fields() - field_names.Length();
27869 if ((field_index >= 0) && (field_index < num_positional_fields)) {
27870 return field_index;
27871 } else {
27872 for (intptr_t i = 0, n = field_names.Length(); i < n; ++i) {
27873 if (field_names.At(i) == field_name.ptr()) {
27874 return num_positional_fields + i;
27875 }
27876 }
27877 }
27878 return -1;
27879}
ArrayPtr GetFieldNames(Thread *thread) const
Definition: object.h:11493
static intptr_t GetPositionalFieldIndexFromFieldName(const String &field_name)
Definition: object.cc:27847

◆ GetFieldNames()

ArrayPtr dart::Record::GetFieldNames ( Thread thread) const
inline

Definition at line 11493 of file object.h.

11493 {
11494 return shape().GetFieldNames(thread);
11495 }
ArrayPtr GetFieldNames(Thread *thread) const
Definition: object.cc:27987

◆ GetPositionalFieldIndexFromFieldName()

intptr_t dart::Record::GetPositionalFieldIndexFromFieldName ( const String field_name)
static

Definition at line 27847 of file object.cc.

27848 {
27849 if (field_name.IsOneByteString() && field_name.Length() >= 1 &&
27850 field_name.CharAt(0) == '$') {
27851 int64_t value = 0;
27852 const char* cstr = field_name.ToCString();
27853 if (OS::StringToInt64(cstr + 1 /* skip '$' */, &value)) {
27854 if (value >= 1 && value < kMaxElements) {
27855 return static_cast<intptr_t>(value - 1);
27856 }
27857 }
27858 }
27859 return -1;
27860}
static bool StringToInt64(const char *str, int64_t *value)
static constexpr intptr_t kMaxElements
Definition: object.h:11441
uint8_t value

◆ GetRecordType()

RecordTypePtr dart::Record::GetRecordType ( ) const

Definition at line 27830 of file object.cc.

27830 {
27831 Zone* const zone = Thread::Current()->zone();
27832 const intptr_t num_fields = this->num_fields();
27833 const Array& field_types =
27835 Instance& obj = Instance::Handle(zone);
27836 AbstractType& type = AbstractType::Handle(zone);
27837 for (intptr_t i = 0; i < num_fields; ++i) {
27838 obj ^= FieldAt(i);
27839 type = obj.GetType(Heap::kNew);
27840 field_types.SetAt(i, type);
27841 }
27844 return RecordType::Cast(type).ptr();
27845}
GLenum type
static ArrayPtr New(intptr_t len, Heap::Space space=Heap::kNew)
Definition: object.h:10959
static AbstractTypePtr FinalizeType(const AbstractType &type, FinalizationKind finalization=kCanonicalize)
@ kNew
Definition: heap.h:38
@ kOld
Definition: heap.h:39
static RecordTypePtr New(RecordShape shape, const Array &field_types, Nullability nullability=Nullability::kNonNullable, Heap::Space space=Heap::kOld)
Definition: object.cc:27465
Zone * zone() const
Definition: thread_state.h:37

◆ InstanceSize() [1/2]

static intptr_t dart::Record::InstanceSize ( )
inlinestatic

Definition at line 11460 of file object.h.

11460 {
11461 ASSERT(sizeof(UntaggedRecord) ==
11462 OFFSET_OF_RETURNED_VALUE(UntaggedRecord, data));
11463 return 0;
11464 }

◆ InstanceSize() [2/2]

static intptr_t dart::Record::InstanceSize ( intptr_t  num_fields)
inlinestatic

Definition at line 11466 of file object.h.

11466 {
11467 return RoundedAllocationSize(sizeof(UntaggedRecord) +
11469 }
static constexpr intptr_t RoundedAllocationSize(intptr_t size)
Definition: object.h:758

◆ New()

RecordPtr dart::Record::New ( RecordShape  shape,
Heap::Space  space = Heap::kNew 
)
static

Definition at line 27741 of file object.cc.

27741 {
27742 const intptr_t num_fields = shape.num_fields();
27743 ASSERT(num_fields >= 0);
27744 auto raw = Object::Allocate<Record>(space, num_fields);
27745 NoSafepointScope no_safepoint;
27746 raw->untag()->set_shape(shape.AsSmi());
27747 return raw;
27748}
intptr_t num_fields() const
Definition: object.h:11314
SmiPtr AsSmi() const
Definition: object.h:11320

◆ num_fields()

intptr_t dart::Record::num_fields ( ) const
inline

Definition at line 11425 of file object.h.

11425{ return NumFields(ptr()); }
static intptr_t NumFields(RecordPtr ptr)
Definition: object.h:11426

◆ NumFields()

static intptr_t dart::Record::NumFields ( RecordPtr  ptr)
inlinestatic

Definition at line 11426 of file object.h.

11426 {
11427 return RecordShape(ptr->untag()->shape()).num_fields();
11428 }
UntaggedObject * untag() const

◆ SetFieldAt()

void dart::Record::SetFieldAt ( intptr_t  field_index,
const Object value 
) const
inline

Definition at line 11436 of file object.h.

11436 {
11437 untag()->set_field(field_index, value.ptr());
11438 }

◆ shape()

RecordShape dart::Record::shape ( ) const
inline

Definition at line 11430 of file object.h.

11430{ return RecordShape(untag()->shape()); }

◆ shape_offset()

static intptr_t dart::Record::shape_offset ( )
inlinestatic

Definition at line 11431 of file object.h.

11431{ return OFFSET_OF(UntaggedRecord, shape_); }
#define OFFSET_OF(type, field)
Definition: globals.h:138

Friends And Related Function Documentation

◆ Class

friend class Class
friend

Definition at line 11499 of file object.h.

◆ Object

friend class Object
friend

Definition at line 11500 of file object.h.

Member Data Documentation

◆ kBytesPerElement

constexpr intptr_t dart::Record::kBytesPerElement = kCompressedWordSize
staticconstexpr

Definition at line 11440 of file object.h.

◆ kMaxElements

constexpr intptr_t dart::Record::kMaxElements = RecordShape::kMaxNumFields
staticconstexpr

Definition at line 11441 of file object.h.


The documentation for this class was generated from the following files: