You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[release/7.0-rc1] Fix auto layout algorithm to compute structure alignment correctly (#74091)
* New test
* Fix auto layout algorithm to compute structure alignment correctly - In particular: 1. The alignment requirement imposed by of a non-primitive, non-enum valuetype field is the alignment of that field 2. The alignment requirement imposed by a primitive is the pointer size of the target platform, unless running on Arm32, in which case if the primitive or enum is 8 bytes in size, the alignment requirement is 8.
- The previous implementation produced an alignment of pointer size, unless running on Arm32 and one of the fields had an alignment requirement of 8 (in which case the alignment requirement computed for the structure would be 8)
In addition, add a test which verifies that the instance field layout test types are actually producing R2R compatible results at runtime.
- This test shows that we have some issues around explicit layout, so I was forced to disable that portion of the test for now.
Fixes#65281
* Re-enable disabled test
* Remove file that shouldn't be added as part of the new test
* Make a few test types public to silence unassigned field errors
* Update comments and add more testing
Co-authored-by: David Wrighton <[email protected]>
Co-authored-by: Tomas Rylek <[email protected]>
0 commit comments