diff options
author | Jeremy Koritzinsky <jekoritz@microsoft.com> | 2020-12-15 09:26:30 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-15 09:26:30 +0300 |
commit | c64861b3bb0b3e31f70aabee875ded8cfd4dbaf7 (patch) | |
tree | 579fe0e992ff0a19bbbf48f1102f15bc5cb60b0e /eng/native/configurepaths.cmake | |
parent | 35fbaefa57f94268090dd28d432b6109e64a8c48 (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