[API Proposal]: IL Emit support for FunctionPointer
steveharter opened this issue · 2 comments
[primarily a placeholder for now for planning]
This adds invoke capability to function pointers, layering on See also #69273 and #75347.
Overloads will be added to ILGenerator.EmitCalli()
to support new calling conventions that are modifier-based instead of enum-based. The enum-based calling conventions through System.Runtime.InteropServices.CallingConvention
have not scaled well thus specifying "CallConv" types from the System.Runtime.InteropServices
is assumed. Currently these include:
- CallConvCdecl
- CallConvStdCall
- CallConvThiscall
- CallConvFastcall
- CallConvSuppressGCTransition
- CallConvMemberFunction
The new APIs may likely take a proposed MethodSignature
class from #75347.
Tagging subscribers to this area: @dotnet/area-system-reflection
See info in area-owners.md if you want to be subscribed.
Issue Details
[primarily a placeholder for now for planning]
This adds invoke capability to function pointers, layering on See also #69273 and #75347.
Overloads will be added to ILGenerator.EmitCalli()
to support new calling conventions that are modifier-based instead of enum-based. The enum-based calling conventions through System.Runtime.InteropServices.CallingConvention
have not scaled well thus specifying "CallConv" types from the System.Runtime.InteropServices
is assumed. Currently these include:
- CallConvCdecl
- CallConvStdCall
- CallConvThiscall
- CallConvFastcall
- CallConvSuppressGCTransition
- CallConvMemberFunction
The new APIs may likely take a proposed MethodSignature
class from #75347.
Author: | steveharter |
---|---|
Assignees: | steveharter |
Labels: |
|
Milestone: | 8.0.0 |
Tagging subscribers to this area: @dotnet/area-system-reflection-emit
See info in area-owners.md if you want to be subscribed.
Issue Details
[primarily a placeholder for now for planning]
This adds invoke capability to function pointers, layering on See also #69273 and #75347.
Overloads will be added to ILGenerator.EmitCalli()
to support new calling conventions that are modifier-based instead of enum-based. The enum-based calling conventions through System.Runtime.InteropServices.CallingConvention
have not scaled well thus specifying "CallConv" types from the System.Runtime.InteropServices
is assumed. Currently these include:
- CallConvCdecl
- CallConvStdCall
- CallConvThiscall
- CallConvFastcall
- CallConvSuppressGCTransition
- CallConvMemberFunction
The new APIs may likely take a proposed MethodSignature
class from #75347.
Author: | steveharter |
---|---|
Assignees: | steveharter |
Labels: |
|
Milestone: | 8.0.0 |