dotnet/runtime

[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:

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:

The new APIs may likely take a proposed MethodSignature class from #75347.

Author: steveharter
Assignees: steveharter
Labels:

api-needs-work, area-System.Reflection

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:

The new APIs may likely take a proposed MethodSignature class from #75347.

Author: steveharter
Assignees: steveharter
Labels:

api-needs-work, area-System.Reflection, area-System.Reflection.Emit

Milestone: 8.0.0