Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/dotnet/runtime.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Koritzinsky <jekoritz@microsoft.com>2020-12-15 09:26:30 +0300
committerGitHub <noreply@github.com>2020-12-15 09:26:30 +0300
commitc64861b3bb0b3e31f70aabee875ded8cfd4dbaf7 (patch)
tree579fe0e992ff0a19bbbf48f1102f15bc5cb60b0e /eng/native/configurepaths.cmake
parent35fbaefa57f94268090dd28d432b6109e64a8c48 (diff)
Enable non-blittable struct returns on UnmanagedCallersOnly (#45625)
* Allow non-primitive struct returns to not require a stub. Fixes #35928. * Support propagating the UnmanagedCallersOnly calling convention to the JIT. Block UnmanagedCallersOnly in crossgen1 since the attribute parsing code isn't included. * Support passing through the calling convention for UnmanagedCallersOnly in crossgen2 * Fix clang errors. * Fix stack calculation. * Fix usings * Clean up jitinterface. * Remove invalid assert. * Fix up stdcall name mangling lookup. * Fix flag condition. * Use the register var type when copying from the register to the stack. * Change flag check for readability. * Rename variables to remove shadowing. * Fix formatting. * Create new getEntryPointCallConv method on the EE-JIT interface to handle all calling convention resolution and support extensible calling conventions. * Remove unreachable code. * Remove now unused getUnmanagedCallConv jitinterface method (replaced by getEntryPointCallConv). * Fix formatting. * Rename getEntryPointCallConv and only call it with a method when it's a P/Invoke or Reverse P/Invoke. * Pass SuppressGCTransition through the getUnmanagedCallConv JIT-EE interface API. * Refactor callconv handling so we can handle reverse P/Invokes with the callconv in the signature (and not in an UnmanagedCallersOnly attribute). * Clean up whitespace. * Pass MethodIL as the scope for the signature to enable propagating down annotations for calli's in P/Invokes. * Remove usages of CORINFO_CALLCONV_FOO where FOO is an unmanaged callconv. move the definitions of those ones to the interpreter since that's the only place they're used. * SuppressGC cleanup. * Rename superpmi struct * Add default condition to make clang happy. * change enums to make clang happy. * Remove CORINFO_CALLCONV_C and family from interpreter. * Fix up handling of managed function pointers and remove invalid assert. * Continue to use sigflag for suppressgc workaround. * Clean up comment wording. Signed-off-by: Jeremy Koritzinsky <jekoritz@microsoft.com> * Remove more MethodIL passing we don't need any more * Update src/coreclr/tools/Common/JitInterface/CorInfoImpl.cs Co-authored-by: Jan Kotas <jkotas@microsoft.com> * Fix SigTypeContext creation. * Pass context by ptr. * Fix formatting. * Clear the Reverse P/Invoke flag when compiling inlinees. It's only needed on the entry-point functions. Co-authored-by: Jan Kotas <jkotas@microsoft.com>
Diffstat (limited to 'eng/native/configurepaths.cmake')
0 files changed, 0 insertions, 0 deletions