77 references to MethodTable
System.Private.TypeLoader (77)
Internal\Runtime\TypeLoader\EETypeCreator.cs (21)
16public static unsafe MethodTable* ToEETypePtr(this RuntimeTypeHandle rtth) 18return (MethodTable*)(*(IntPtr*)&rtth); 54*(IntPtr*)((byte*)rtth.ToEETypePtr() + sizeof(MethodTable) + dictionarySlot * IntPtr.Size) = dictionary; 123private static void CreateEETypeWorker(MethodTable* pTemplateEEType, uint hashCodeOfNewType, 198MethodTable* pEEType; 200int cbEEType = (int)MethodTable.GetSizeofEEType( 215MethodTable* elementEEType = null; 225pEEType = (MethodTable*)((byte*)eeTypePlusGCDesc + cbGCDescAligned); 248IntPtr* pVtable = (IntPtr*)((byte*)pEEType + sizeof(MethodTable)); 249IntPtr* pTemplateVtable = (IntPtr*)((byte*)pTemplateEEType + sizeof(MethodTable)); 286genericComposition = MemoryHelpers.AllocateMemory(MethodTable.GetGenericCompositionSize(arity)); 312object obj = RuntimeAugments.RawNewObject(((MethodTable*)state.GcStaticDesc)->ToRuntimeTypeHandle()); 344private static void CreateMdArrayGCDesc(MethodTable* elementEEType, MethodTable* pEEType, int cbGCDesc) 390private static int GetMdArrayGCDescSize(ArrayType arrayType, out MethodTable* elementEEType) 472MethodTable* pTemplateEEType; 513public static int GetDictionaryOffsetInEEtype(MethodTable* pEEType) 517MethodTable* pBaseType = pEEType->BaseType; 519return sizeof(MethodTable) + dictionarySlot * IntPtr.Size; 522public static IntPtr GetDictionaryAtOffset(MethodTable* pEEType, int offset) 527public static IntPtr GetDictionary(MethodTable* pEEType)
Internal\Runtime\TypeLoader\GenericDictionaryCell.cs (4)
130MethodTable** instantiation = (MethodTable**)MemoryHelpers.AllocateMemory(sizeof(MethodTable*) * Method.Instantiation.Length); 133instantiation[i] = (MethodTable*)builder.GetRuntimeTypeHandle(Method.Instantiation[i]).Value;
Internal\Runtime\TypeLoader\MethodTable.Runtime.cs (2)
16private static unsafe MethodTable* GetArrayEEType() 18return MethodTable.Of<Array>();
Internal\Runtime\TypeLoader\TypeBuilder.cs (1)
597MethodTable* halfBakedMethodTable = state.HalfBakedRuntimeTypeHandle.ToEETypePtr();
Internal\Runtime\TypeLoader\TypeLoaderEnvironment.GVMResolution.cs (2)
168? new MethodTableList((RelativePointer<MethodTable>*)methodInstantiation) 169: new MethodTableList((MethodTable*)methodInstantiation);
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)
43return ((MethodTable*)pointer)->ToRuntimeTypeHandle(); 105return ((MethodTable*)pointer)->ToRuntimeTypeHandle();
src\runtime\src\coreclr\nativeaot\Common\src\Internal\Runtime\MethodTable.cs (36)
118public MethodTable* _pBaseType; 122public MethodTable* _pRelatedParameterType; 138internal static extern MethodTable* Of<T>(); 411internal MethodTable* GenericDefinition 420return GetField<Pointer<MethodTable>>(offset).Value; 422return GetField<RelativePointer<MethodTable>>(offset).Value; 469MethodTable* pListStart = arity == 1 ? (MethodTable*)pField : *(MethodTable**)pField; 475RelativePointer<MethodTable>* pListStart = arity == 1 ? 476(RelativePointer<MethodTable>*)pField : (RelativePointer<MethodTable>*)((RelativePointer*)pField)->Value; 603return new MethodTableList((MethodTable*)pStart); 604return new MethodTableList((RelativePointer<MethodTable>*)pStart); 608internal MethodTable* FunctionPointerReturnType 718return BaseSize - ((uint)sizeof(ObjHeader) + (uint)sizeof(MethodTable*) + ValueTypeFieldPadding); 722internal MethodTable** InterfaceMap 728return (MethodTable**)((byte*)Unsafe.AsPointer(ref this) + sizeof(MethodTable) + sizeof(void*) * _usNumVtableSlots); 786internal MethodTable* BaseType 812internal MethodTable* NonArrayBaseType 823internal MethodTable* NullableType 846internal MethodTable* RelatedParameterType 865return (IntPtr*)((byte*)Unsafe.AsPointer(ref this) + sizeof(MethodTable)); 909internal MethodTable* DynamicTemplateType 914return GetField<Pointer<MethodTable>>(EETypeField.ETF_DynamicTemplateType).Value; 1077uint cbOffset = (uint)(sizeof(MethodTable) + (IntPtr.Size * _usNumVtableSlots)); 1080cbOffset += (uint)(sizeof(MethodTable*) * NumInterfaces); 1225return (uint)(sizeof(MethodTable) + 1227(sizeof(MethodTable*) * cInterfaces) + 1288public MethodTableList(MethodTable* pFirst) 1295public MethodTableList(RelativePointer<MethodTable>* pFirst) 1302public MethodTable* this[int index] 1307return (((RelativePointer<MethodTable>*)((nint)_pFirst - IsRelative)) + index)->Value; 1309return *((MethodTable**)_pFirst + index); 1315*((MethodTable**)_pFirst + index) = value;
src\runtime\src\coreclr\nativeaot\Common\src\Internal\Runtime\TypeLoader\ExternalReferencesTable.cs (1)
75if (MethodTable.SupportsRelativePointers)