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

JIT struct work planned for .NET 10 #109635

Open
2 of 12 tasks
jakobbotsch opened this issue Nov 8, 2024 · 1 comment
Open
2 of 12 tasks

JIT struct work planned for .NET 10 #109635

jakobbotsch opened this issue Nov 8, 2024 · 1 comment
Assignees
Labels
area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI User Story A single user-facing feature. Can be grouped under an epic.
Milestone

Comments

@jakobbotsch
Copy link
Member

jakobbotsch commented Nov 8, 2024

This issue captures the planned work items for .NET 10 with respect to struct improvements. This list is expected to change throughout the release cycle according to ongoing planning and discussions, with possible additions and subtractions to the scope.

The overall goal in .NET 10 is to expand the scope of physical promotion even further than we did in .NET 9. We have seen good improvements from switching classes of struct locals from old promotion to physical promotion and expect similar improvements for the remaining cases. A stretch goal is the full removal of old promotion.

ABI handling for physical promotion

The main limitation that stops physical promotion from replacing regular promotion is currently that it lacks the support around ABI boundaries that regular promotion has. This comes out of the fact that our multireg support is tied very directly into the existing promotion mechanism.
Thus, we expect to work on the following items in .NET 10:

Missing handling for physical promotion

Old promotion handles cases that new promotion does not handle yet. There is work to be done to identify these cases and come up with replacements.

Miscellaneous struct-related work items

Stretch goals

  • Remove old promotion
@dotnet-issue-labeler dotnet-issue-labeler bot added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label Nov 8, 2024
@jakobbotsch jakobbotsch added this to the 10.0.0 milestone Nov 8, 2024
@jakobbotsch jakobbotsch added the User Story A single user-facing feature. Can be grouped under an epic. label Nov 8, 2024
Copy link
Contributor

Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch
See info in area-owners.md if you want to be subscribed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI User Story A single user-facing feature. Can be grouped under an epic.
Projects
Status: Team User Stories
Development

No branches or pull requests

1 participant