Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[API Proposal]: IL Emit support for FunctionPointer #75348

Open
Tracked by #75358
steveharter opened this issue Sep 9, 2022 · 2 comments
Open
Tracked by #75358

[API Proposal]: IL Emit support for FunctionPointer #75348

steveharter opened this issue Sep 9, 2022 · 2 comments
Assignees
Labels
api-needs-work API needs work before it is approved, it is NOT ready for implementation area-System.Reflection.Emit Cost:M Work that requires one engineer up to 2 weeks
Milestone

Comments

@steveharter
Copy link
Member

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

@steveharter steveharter added api-needs-work API needs work before it is approved, it is NOT ready for implementation area-System.Reflection labels Sep 9, 2022
@steveharter steveharter added this to the 8.0.0 milestone Sep 9, 2022
@steveharter steveharter self-assigned this Sep 9, 2022
@ghost
Copy link

ghost commented Sep 9, 2022

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

@ghost
Copy link

ghost commented Sep 10, 2022

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

@steveharter steveharter added the Cost:M Work that requires one engineer up to 2 weeks label Dec 5, 2022
@steveharter steveharter modified the milestones: 8.0.0, 9.0.0 Aug 2, 2023
@steveharter steveharter modified the milestones: 9.0.0, 10.0.0 Jul 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
api-needs-work API needs work before it is approved, it is NOT ready for implementation area-System.Reflection.Emit Cost:M Work that requires one engineer up to 2 weeks
Projects
None yet
Development

No branches or pull requests

2 participants