-
Notifications
You must be signed in to change notification settings - Fork 5.3k
arm64 osx: support byte sizes from lowering to codegen. #43024
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
3899ec9 to
14576d9
Compare
14576d9 to
96cf3c5
Compare
96cf3c5 to
4602f28
Compare
src/coreclr/src/jit/compiler.h
Outdated
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.
it could be confusing when we have arguments that require more than a pointer size, for example:
call(arguments to occupy registers, byte a, struct with 16 bytes alignment b)
in this example we will have such offsets on arm64 not-apple:
a - offset 0, GetStackByteSize() = 8,
b - offset 16, GetStackByteSize() = 16.
so the space between offset 1 and 8 is padding for a, the space between 8 and 16 is an alignment for b.
src/coreclr/src/jit/lsraxarch.cpp
Outdated
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.
size was putArgStk->gtNumSlots * TARGET_POINTER_SIZE where TARGET_POINTER_SIZE % 2 == 0 so that condition was always false.
4602f28 to
703636e
Compare
|
PTAL @dotnet/jit-contrib |
703636e to
a394784
Compare
|
ping @dotnet/jit-contrib |
CarolEidt
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.
It's been a while since I reviewed the previous change; I just have a few questions and comments for now.
|
/azp run runtime-coreclr outerloop |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
The PR was updated, the failures in stress modes are not relevant. |
CarolEidt
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 - it would be great if @echesakovMSFT could also re-review; there are a lot of somewhat tricky changes.
echesakov
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.
Looks good, left some comments about code style
4e49956 to
5281a9d
Compare
Keep precise byte sizes and offsets for call arguments from lowering to codegen. It is a continuation of #42503.
Contributes to #41130.
No diffs.