-
Notifications
You must be signed in to change notification settings - Fork 5.3k
JIT: Keep FieldSeq in AssertionDesc #78616
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
Conversation
|
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch Issue DetailsCloses #64876 This PR slightly changes memory layout in AssertionDsc (diff) while keeping total size the same (48 bytes) in order to save a reference to FieldSeq*. Example: static byte Foo()
{
ReadOnlySpan<byte> RVA = new byte[] { 1, 2, 3, 4, 5 };
return RVA[3];
}JITDump diff: https://www.diffchecker.com/HVVahKbd e.g.: This also is required to be able to fold constant index + RVA in future.
|
3f2f953 to
9f57e78
Compare
Co-authored-by: Jakob Botsch Nielsen <Jakob.botsch.nielsen@gmail.com>
|
@SingleAccretion @jakobbotsch please, take a look |
SingleAccretion
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM modulo minor comments.

Closes #64876
This PR slightly changes memory layout in AssertionDsc (diff) while keeping total size the same (48 bytes) in order to save a reference to FieldSeq*.
Example:
JITDump diff: https://www.diffchecker.com/HVVahKbd e.g.:
This also is required to be able to fold constant index + RVA in future.