71 references to MethodTable
System.Private.TypeLoader (71)
Internal\Runtime\TypeLoader\EETypeCreator.cs (20)
17public static unsafe MethodTable* ToEETypePtr(this RuntimeTypeHandle rtth) 19return (MethodTable*)(*(IntPtr*)&rtth); 55*(IntPtr*)((byte*)rtth.ToEETypePtr() + sizeof(MethodTable) + dictionarySlot * IntPtr.Size) = dictionary; 125private static void CreateEETypeWorker(MethodTable* pTemplateEEType, uint hashCodeOfNewType, 222MethodTable* pEEType; 230int cbEEType = (int)MethodTable.GetSizeofEEType( 252pEEType = (MethodTable*)((byte*)eeTypePlusGCDesc + cbGCDescAligned); 270IntPtr* pVtable = (IntPtr*)((byte*)pEEType + sizeof(MethodTable)); 271IntPtr* pTemplateVtable = (IntPtr*)((byte*)pTemplateEEType + sizeof(MethodTable)); 316genericComposition = MemoryHelpers.AllocateMemory(MethodTable.GetGenericCompositionSize(arity)); 342object obj = RuntimeAugments.RawNewObject(((MethodTable*)state.GcStaticDesc)->ToRuntimeTypeHandle()); 374private static void CreateInstanceGCDesc(TypeBuilderState state, MethodTable* pTemplateEEType, MethodTable* pEEType, int baseSize, int cbGCDesc, bool isValueType, bool isArray, bool isSzArray, int arrayRank) 418private static unsafe int GetInstanceGCDescSize(TypeBuilderState state, MethodTable* pTemplateEEType, bool isValueType, bool isArray) 596MethodTable* pTemplateEEType; 638public static int GetDictionaryOffsetInEEtype(MethodTable* pEEType) 642MethodTable* pBaseType = pEEType->BaseType; 644return sizeof(MethodTable) + dictionarySlot * IntPtr.Size; 647public static IntPtr GetDictionaryAtOffset(MethodTable* pEEType, int offset) 652public static IntPtr GetDictionary(MethodTable* pEEType)
Internal\Runtime\TypeLoader\MethodTable.Runtime.cs (2)
16private static unsafe MethodTable* GetArrayEEType() 18return MethodTable.Of<Array>();
Internal\Runtime\TypeLoader\TypeBuilder.cs (2)
456MethodTable* MethodTable = rtth.ToEETypePtr(); 764MethodTable* halfBakedMethodTable = state.HalfBakedRuntimeTypeHandle.ToEETypePtr();
Internal\Runtime\TypeLoader\TypeLoaderEnvironment.StaticsLookup.cs (6)
35MethodTable* typeAsEEType = runtimeTypeHandle.ToEETypePtr(); 54MethodTable* typeAsEEType = runtimeTypeHandle.ToEETypePtr(); 74MethodTable* typeAsEEType = runtimeTypeHandle.ToEETypePtr(); 93MethodTable* typeAsEEType = runtimeTypeHandle.ToEETypePtr(); 115MethodTable* typeAsEEType = runtimeTypeHandle.ToEETypePtr(); 135MethodTable* typeAsEEType = runtimeTypeHandle.ToEETypePtr();
Internal\TypeSystem\RuntimeNoMetadataType.cs (2)
175MethodTable* MethodTable = _genericTypeDefinition.ToEETypePtr(); 216MethodTable* MethodTable = _genericTypeDefinition.ToEETypePtr();
Internal\TypeSystem\TypeSystemContext.Runtime.cs (2)
45return ((MethodTable*)pointer)->ToRuntimeTypeHandle(); 107return ((MethodTable*)pointer)->ToRuntimeTypeHandle();
src\runtime\src\coreclr\nativeaot\Common\src\Internal\Runtime\MethodTable.cs (36)
142public MethodTable* _pBaseType; 146public MethodTable* _pRelatedParameterType; 162internal static extern MethodTable* Of<T>(); 471internal MethodTable* GenericDefinition 480return GetField<Pointer<MethodTable>>(offset).Value; 482return GetField<RelativePointer<MethodTable>>(offset).Value; 529MethodTable* pListStart = arity == 1 ? (MethodTable*)pField : *(MethodTable**)pField; 535RelativePointer<MethodTable>* pListStart = arity == 1 ? 536(RelativePointer<MethodTable>*)pField : (RelativePointer<MethodTable>*)((RelativePointer*)pField)->Value; 680return new MethodTableList((MethodTable*)pStart); 681return new MethodTableList((RelativePointer<MethodTable>*)pStart); 685internal MethodTable* FunctionPointerReturnType 795return BaseSize - ((uint)sizeof(ObjHeader) + (uint)sizeof(MethodTable*) + ValueTypeFieldPadding); 799internal MethodTable** InterfaceMap 805return (MethodTable**)((byte*)Unsafe.AsPointer(ref this) + sizeof(MethodTable) + sizeof(void*) * _usNumVtableSlots); 863internal MethodTable* BaseType 889internal MethodTable* NonArrayBaseType 900internal MethodTable* NullableType 923internal MethodTable* RelatedParameterType 942return (IntPtr*)((byte*)Unsafe.AsPointer(ref this) + sizeof(MethodTable)); 986internal MethodTable* DynamicTemplateType 991return GetField<Pointer<MethodTable>>(EETypeField.ETF_DynamicTemplateType).Value; 1154uint cbOffset = (uint)(sizeof(MethodTable) + (IntPtr.Size * _usNumVtableSlots)); 1157cbOffset += (uint)(sizeof(MethodTable*) * NumInterfaces); 1302return (uint)(sizeof(MethodTable) + 1304(sizeof(MethodTable*) * cInterfaces) + 1365public MethodTableList(MethodTable* pFirst) 1372public MethodTableList(RelativePointer<MethodTable>* pFirst) 1379public MethodTable* this[int index] 1384return (((RelativePointer<MethodTable>*)((nint)_pFirst - IsRelative)) + index)->Value; 1386return *((MethodTable**)_pFirst + index); 1392*((MethodTable**)_pFirst + index) = value;
src\runtime\src\coreclr\nativeaot\Common\src\Internal\Runtime\TypeLoader\ExternalReferencesTable.cs (1)
70if (MethodTable.SupportsRelativePointers)