-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
[LoongArch64] coreclr-vm directory #62885
Conversation
update from runtime.
Co-authored-by: Loongson's .NET-teams
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.
Left some comments.
src/coreclr/vm/argdestination.h
Outdated
void CopyStructToRegisters(void *src, int fieldBytes) | ||
{ | ||
_ASSERTE(IsStructPassedInRegs()); | ||
_ASSERTE(m_argLocDescForStructInRegs->m_cFloatReg == 1); |
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.
Where is the case of struct passed in two floating registers handled?
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.
Where is the case of struct passed in two floating registers handled?
A struct containing just one floating-point real is passed as though it were a standalone floating-point real.
It's related with the ABI, similar with the PR #62893 ,
#62893 (comment)
This case is also the same with the RISC-V: https://github.com/riscv-non-isa/riscv-elf-psabi-doc/blob/master/riscv-cc.adoc
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.
Some comments about compilation issues.
after merged `MethodTable::GetLoongArch64PassStructInRegisterFlags()` and `CEEInfo::getLoongArch64PassStructInRegisterFlags()`
@shushanhf Now that #65738 has merged, this needs to be updated. |
OK, Thanks |
For porting #65738 to LoongArch64.
when running hello-world within debug-mode after refacting.
Now I had tested the hello-world passed both the release and debug mode based on the latest main-LoongArch64. |
Hi @shushanhf, sorry for delayed response. We plan to review this again this week and will merge with a green CI. Thanks |
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, thank you!
Some JIT HW Intrinsics tests are failing -- I will submit a rerun. |
Looks to have passed on rerun. So will merge it now. |
@shushanhf Thanks for your patience and response to code review feedback. And congratulations on getting this merged! |
* [LoongArch64] add coreclr-inc,gc, ToolBox directory. (#59561) Co-authored-by: Loongson's .NET-teams * [LoongArch64] move inc/switches.h to #62889. * [LoongArch64] move some configure files from #62889. * [LoongArch64] revert the modify when moved from #62889. * [LoongArch64] moved the inc/stdmacros.h to #62885. * [LoongArch64] moved inc/corinfo.h to #62885. * [LoongArch64] modify the related files for compiling error. * [LoongArch64] revert the `src/coreclr/gcinfo/CMakeLists.txt` to original. * [LoongArch64] delete unused files on windows. * [LoongArch64] add define IMAGE_FILE_MACHINE_LOONGARCH64. * [LoongArch64] workround the compiling error for IMAGE_FILE_MACHINE_LOONGARCH64 on windows. * [LoongArch64] workround the compiling error for SPMI_TARGET_ARCHITECTURE_LOONGARCH64 on windows. * [LoongArch64] delete the memcpy for LoongArch64 and revert workround patches. * [LoongArch64] exclude the gc, ToolBox and config files from this PR. * [LoongArch64] amend code for compiling error on LoongArch64-machine. * [LoongArch64] update the version of the `LICENSE description`. * [LoongArch64] amend the code about debug. * [LoongArch64] temp submit for fixing the windows compiling error. * [LoongArch64] amend some LA's implements for CR. Co-authored-by: qiaopengcheng <[email protected]>
Part6-2: Add the coreclr-vm directory for LoongArch64.