Closed
Description
This issue captures the planned work items for .NET 8 with respect to struct improvements. Smaller workitems that the larger workitems depend on may also be tracked here. This list is expected to change throughout the release cycle according to ongoing planning and discussions, with possible additions and subtractions to the scope.
Planned for .NET 8
Q4 2022
Jan-Mar 2023
- Handle regressions from early liveness
- JIT: Add a stress mode that poisons implicit byrefs #80691
- JIT: Account for GT_JMP implicit uses in local morph ref counting #80734
- JIT: Add Statement::m_treeListEnd #81031
- JIT: Avoid xchg for resolution #81216
- JIT: Update GTF_GLOB_REF after last-use copy omission #81430
- JIT: Avoid omitting copies for struct fields passed implicitly by reference #81787
- Extend scope of early liveness
- JIT: Add a (disabled) prototype for a generalized promotion pass #83388
Apr-Jun 2023
See #76928.
Future/Interesting
- Struct SSA
- Remove existing promotion (or perhaps just remove existing dependent promotion)
- Support field reconstruction with bitwise ops at ABI boundaries
- Support promotion of non-overlapping parts of structs with overlapping fields (non-overlapping up to access)
- Support partial lifetime promotion (Regressions due to QJFL and OSR #67594 (comment))
- [RyuJIT] Introduce a general reverse copy prop for struct temps #8887
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
Done