You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Since generic virtual method dispatch is based on
`RuntimeMethodHandle`, we need a `RuntimeMethodHandle` for async
variants. Emit the bit in the compiler, at runtime (when type loading),
and read it when needed. Reflection stack should never see this
`RuntimeMethodHandle`.
* Add `AsyncVariant` property on `MethodDesc` (since runtime type system
does this for unboxing methods too).
* Add a flag that distinguishes async variants in native layout. This is
not specific to GVMs, it also covers other cases of runtime generic
dictionary building, such as `MakeGenericMethod`.
* Add a flag that distinguishes these in generic method dictionary
hashtables (both static and built at runtime)
* Lots of piping through the extra bool
Copy file name to clipboardExpand all lines: src/coreclr/nativeaot/System.Private.Reflection.Execution/src/Internal/Reflection/Execution/ExecutionEnvironmentImplementation.MappingTables.cs
Copy file name to clipboardExpand all lines: src/coreclr/nativeaot/System.Private.TypeLoader/src/Internal/Runtime/TypeLoader/NativeLayoutInfoLoadContext.cs
Copy file name to clipboardExpand all lines: src/coreclr/nativeaot/System.Private.TypeLoader/src/Internal/Runtime/TypeLoader/TypeLoaderEnvironment.ConstructedGenericMethodsLookup.cs
+34-11Lines changed: 34 additions & 11 deletions
Original file line number
Diff line number
Diff line change
@@ -7,6 +7,7 @@
7
7
usingSystem.Reflection.Runtime.General;
8
8
usingSystem.Threading;
9
9
10
+
usingInternal.Metadata.NativeFormat;
10
11
usingInternal.NativeFormat;
11
12
usingInternal.Runtime.CompilerServices;
12
13
usingInternal.TypeSystem;
@@ -19,6 +20,7 @@ internal class GenericMethodEntry
Copy file name to clipboardExpand all lines: src/coreclr/nativeaot/System.Private.TypeLoader/src/Internal/Runtime/TypeLoader/TypeLoaderEnvironment.GVMResolution.cs
0 commit comments