Delete more type equivalence logic (#85507)
authorMichal Strehovský <MichalStrehovsky@users.noreply.github.com>
Mon, 1 May 2023 04:40:42 +0000 (13:40 +0900)
committerGitHub <noreply@github.com>
Mon, 1 May 2023 04:40:42 +0000 (21:40 -0700)
commit79647f40acc3bc3dd0e6fa14e4a158cad6d63c05
treeb61a13e7ddaa08d75d2bb859364f9d6a29dec21f
parent844cca807de3fa1072ca77448883699b2f7a28f2
Delete more type equivalence logic (#85507)

* Delete more type equivalence logic

In .NET Native times we could have a situation where two different `MethodTable` pointers represented the same type. This could happen for cloned types, or structurally equivalent parameterized types. The cloned type concept was never used in Native AOT. The structural equivalence disappeared in https://github.com/dotnet/runtimelab/commit/0ef7bd6cfe129f4c308f5d6dae1eccf48c3cdff4. Neither of those seems useful. So getting rid of some of the vestiges.

* Delete more stuff

* Remember statically present pointer and mdarrays
23 files changed:
src/coreclr/nativeaot/Common/src/Internal/Runtime/MethodTable.cs
src/coreclr/nativeaot/Runtime.Base/src/System/Runtime/RuntimeExports.cs
src/coreclr/nativeaot/Runtime.Base/src/System/Runtime/TypeCast.cs
src/coreclr/nativeaot/System.Private.CoreLib/src/Internal/Runtime/Augments/RuntimeAugments.cs
src/coreclr/nativeaot/System.Private.CoreLib/src/System/Array.NativeAot.cs
src/coreclr/nativeaot/System.Private.CoreLib/src/System/EETypePtr.cs
src/coreclr/nativeaot/System.Private.CoreLib/src/System/Runtime/RuntimeImports.cs
src/coreclr/nativeaot/System.Private.CoreLib/src/System/RuntimeTypeHandle.cs
src/coreclr/nativeaot/System.Private.TypeLoader/src/Internal/Runtime/TypeLoader/TypeLoaderEnvironment.Metadata.cs
src/coreclr/nativeaot/System.Private.TypeLoader/src/Internal/Runtime/TypeLoader/TypeLoaderEnvironment.cs
src/coreclr/nativeaot/System.Private.TypeLoader/src/Internal/TypeSystem/TypeDesc.Runtime.cs
src/coreclr/tools/Common/Compiler/DependencyAnalysis/SortableDependencyNode.cs
src/coreclr/tools/Common/Internal/Runtime/MetadataBlob.cs
src/coreclr/tools/Common/Internal/Runtime/ReadyToRunConstants.cs
src/coreclr/tools/Common/TypeSystem/IL/Stubs/ArrayMethodILEmitter.cs
src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/DependencyAnalysis/ArrayMapNode.cs
src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/DependencyAnalysis/ByRefTypeMapNode.cs [new file with mode: 0644]
src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/DependencyAnalysis/PointerTypeMapNode.cs [new file with mode: 0644]
src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/JitHelper.cs
src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/MetadataManager.cs
src/coreclr/tools/aot/ILCompiler.Compiler/ILCompiler.Compiler.csproj
src/coreclr/tools/aot/ILCompiler.RyuJit/JitInterface/CorInfoImpl.RyuJit.cs
src/tests/nativeaot/SmokeTests/Reflection/Reflection.cs