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

[mono] Implement UnmanagedCallersOnly support for Swift calling convention #100010

Closed
2 tasks done
Tracked by #93631
kotlarmilos opened this issue Mar 20, 2024 · 0 comments · Fixed by #102185
Closed
2 tasks done
Tracked by #93631

[mono] Implement UnmanagedCallersOnly support for Swift calling convention #100010

kotlarmilos opened this issue Mar 20, 2024 · 0 comments · Fixed by #102185
Assignees
Milestone

Comments

@kotlarmilos
Copy link
Member

kotlarmilos commented Mar 20, 2024

Description

This issue tracks implementation progress of UnmanagedCallersOnly for the Swift calling convention. When a Swift function calls into .NET, it utilizes the swiftself and swifterror registers to pass context pointers according to the calling convention. In methods annotated with the UnmanagedCallersOnly attribute, users can add SwiftSelf argument to load swiftself register value. Additionally, users can add SwiftError argument to store an exception pointer into swifterror register.

The existing runtime tests should be used for verification.

Tasks

Note: The default configuration on Apple and Apple mobile platforms uses the LLVM backend, but native wrappers are compiled with the mini backend. Efforts to enable LLVM compilation of native wrappers has been done in #96910.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants