Skip to content
New issue

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

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

Already on GitHub? # to your account

[mono][llvm] Fully support .NET exceptions with LLVM on x64, x86, arm64, arm32 #63404

Closed
1 of 9 tasks
imhameed opened this issue Jan 5, 2022 · 2 comments
Closed
1 of 9 tasks
Assignees
Labels
area-Codegen-LLVM-mono runtime-mono specific to the Mono runtime tracking This issue is tracking the completion of other related issues.
Milestone

Comments

@imhameed
Copy link
Contributor

imhameed commented Jan 5, 2022

  • Create a Mono-specific EH personality, to support associating outlined filter functions with individual catchpad or landingpad instructions (by scanning their IR parameter lists for constant function pointers)
  • Use llvm.localescape to mark filter-captured values
  • Translate exception filters into outlined filter functions
  • Support nested clauses either by:
    • Using a scheme to encode nested filters using landingpad, or
    • Using catchswitch, catchpad, and cleanuppad, and removing Windows-specific assumptions associated with these IR ops found during testing
  • Update the Mono unwinder to support all of the above

Also see:

@imhameed imhameed added runtime-mono specific to the Mono runtime area-Codegen-LLVM-mono labels Jan 5, 2022
@imhameed imhameed added this to the 7.0.0 milestone Jan 5, 2022
@imhameed imhameed self-assigned this Jan 5, 2022
@dotnet-issue-labeler dotnet-issue-labeler bot added the untriaged New issue has not been triaged by the area owner label Jan 5, 2022
@imhameed imhameed removed the untriaged New issue has not been triaged by the area owner label Jan 5, 2022
@SamMonoRT SamMonoRT added the tracking This issue is tracking the completion of other related issues. label Jan 7, 2022
@SamMonoRT
Copy link
Member

cc @vargaz

@SamMonoRT SamMonoRT assigned BrzVlad and unassigned imhameed Mar 1, 2022
@BrzVlad BrzVlad modified the milestones: 7.0.0, 8.0.0 Jul 23, 2022
@SamMonoRT SamMonoRT assigned jandupej and unassigned BrzVlad Aug 3, 2022
@jandupej
Copy link
Member

Simulations show that the performance and binary size benefits would be minimal. Closing.

@ghost ghost locked as resolved and limited conversation to collaborators Apr 20, 2023
# for free to subscribe to this conversation on GitHub. Already have an account? #.
Labels
area-Codegen-LLVM-mono runtime-mono specific to the Mono runtime tracking This issue is tracking the completion of other related issues.
Projects
None yet
Development

No branches or pull requests

4 participants