-
Notifications
You must be signed in to change notification settings - Fork 2.7k
Set flag in comp info to signal that a caller has >8 byte struct args #22775
Conversation
This will be used by fgCanFastTailCall to correctly determine whether an arm64 or x64 linux caller/callee can fastTailCall. It is also a workaround to #12468 to catch early any slot shuffling that would happen in LowerFastTailCall. Which currently assumes all parameters are one slot size.
/cc @dotnet/jit-contrib |
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 other than the comparing of a bool
to 0
@dotnet-bot test Windows_NT arm Cross Checked Innerloop Build and Test |
I believe this change is good to be merged |
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.
Looks Good
…dotnet#22775) * Set flag in comp info to signal that a caller has >8 byte struct args This will be used by fgCanFastTailCall to correctly determine whether an arm64 or x64 linux caller/callee can fastTailCall. It is also a workaround to #12468 to catch early any slot shuffling that would happen in LowerFastTailCall. Which currently assumes all parameters are one slot size. * Address feedback * Apply format patch * Add comment * apply new format patch
* Set flag in comp info to signal that a caller has >8 byte struct args (#22775) * Set flag in comp info to signal that a caller has >8 byte struct args This will be used by fgCanFastTailCall to correctly determine whether an arm64 or x64 linux caller/callee can fastTailCall. It is also a workaround to #12468 to catch early any slot shuffling that would happen in LowerFastTailCall. Which currently assumes all parameters are one slot size. * Address feedback * Apply format patch * Add comment * apply new format patch * Address feedback and add header
* Set flag in comp info to signal that a caller has >8 byte struct args (#22775) * Set flag in comp info to signal that a caller has >8 byte struct args This will be used by fgCanFastTailCall to correctly determine whether an arm64 or x64 linux caller/callee can fastTailCall. It is also a workaround to #12468 to catch early any slot shuffling that would happen in LowerFastTailCall. Which currently assumes all parameters are one slot size. * Address feedback * Apply format patch * Add comment * apply new format patch * Address feedback and add header
did this not ship with .net core 2.1.12? |
This fix should be in 2.1.12 (and in 2.2.6), but doesn't seem to be called out in the release notes for either. @vivmishra can you check if #24858 (2.1) and #24954 (2.2) was included in the releases but overlooked in the notes? |
Those two PRs did not have correct label or milestone set. I have fixed that now and added CoreCLR to rel notes. Cc: @leecow ; @RussKeldorph |
…dotnet/coreclr#22775) * Set flag in comp info to signal that a caller has >8 byte struct args This will be used by fgCanFastTailCall to correctly determine whether an arm64 or x64 linux caller/callee can fastTailCall. It is also a workaround to dotnet/coreclr#12468 to catch early any slot shuffling that would happen in LowerFastTailCall. Which currently assumes all parameters are one slot size. * Address feedback * Apply format patch * Add comment * apply new format patch Commit migrated from dotnet/coreclr@0a29aaf
This will be used by fgCanFastTailCall to correctly determine whether an arm64
or x64 linux caller/callee can fastTailCall.
It is also a workaround to #12468 to catch early any slot shuffling that would happen in LowerFastTailCall. Which currently assumes all parameters are one slot size.
Fixes #22330.