Skip to content

[LoongArch64] coreclr-vm directory - #62885

Merged
mangod9 merged 49 commits into
dotnet:mainfrom
shushanhf:main_loongarch64_2
Apr 21, 2022
Merged

[LoongArch64] coreclr-vm directory#62885
mangod9 merged 49 commits into
dotnet:mainfrom
shushanhf:main_loongarch64_2

Conversation

@shushanhf

Copy link
Copy Markdown
Contributor

Part6-2: Add the coreclr-vm directory for LoongArch64.

@ghostghost added community-contribution Indicates that the PR has been added by a community member area-VM-coreclr labels Dec 16, 2021
@dnfadmin

dnfadmin commented Dec 16, 2021

Copy link
Copy Markdown

CLA assistant check
All CLA requirements met.

@jkotasjkotas changed the title Part6-2: Add the coreclr-vm directory for LoongArch64.[LoongArch64] coreclr-vm directoryDec 16, 2021
Comment threadsrc/coreclr/vm/syncblk.cpp Outdated

@kant2002kant2002 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Left some comments.

Comment threadsrc/coreclr/vm/ceeload.h
Comment threadsrc/coreclr/vm/class.cpp Outdated
Comment threadsrc/coreclr/vm/comdelegate.cpp Outdated
Comment threadsrc/coreclr/vm/interpreter.cpp
Comment threadsrc/coreclr/vm/interpreter.cpp Outdated
Comment threadsrc/coreclr/vm/interpreter.cpp
Comment threadsrc/coreclr/vm/callhelpers.cpp Outdated
Comment threadsrc/coreclr/vm/argdestination.h Outdated
void CopyStructToRegisters(void *src, int fieldBytes)
{
_ASSERTE(IsStructPassedInRegs());
_ASSERTE(m_argLocDescForStructInRegs->m_cFloatReg == 1);

@jkotasjkotasDec 18, 2021

Copy link
Copy Markdown
Member

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?

@shushanhfshushanhfDec 20, 2021

Copy link
Copy Markdown
ContributorAuthor

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

@kant2002kant2002 left a comment

Copy link
Copy Markdown
Contributor

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.

Comment threadsrc/coreclr/vm/exceptionhandling.cpp Outdated
Comment threadsrc/coreclr/vm/jitinterface.cpp Outdated
qiaopengchengand others added 3 commits December 20, 2021 10:32
amend the `ToolBox/superpmi/superpmi-shared/agnostic.h`
Comment threadsrc/coreclr/vm/methodtable.cpp Outdated
Comment threadsrc/coreclr/vm/methodtable.cpp Outdated
Comment threadsrc/coreclr/vm/methodtable.cpp Outdated
Comment threadsrc/coreclr/vm/methodtable.cpp Outdated
after merged `MethodTable::GetLoongArch64PassStructInRegisterFlags()`
and `CEEInfo::getLoongArch64PassStructInRegisterFlags()`
@BruceForstall

Copy link
Copy Markdown
Contributor

@shushanhf Now that #65738 has merged, this needs to be updated.

@shushanhf

Copy link
Copy Markdown
ContributorAuthor

@shushanhf Now that #65738 has merged, this needs to be updated.

OK, Thanks

@BruceForstall

Copy link
Copy Markdown
Contributor

@jkotas@janvorli Time for another (final?) code review here?

Comment threadsrc/coreclr/vm/loongarch64/thunktemplates.S Outdated
when running hello-world within debug-mode after refacting.
@shushanhf

shushanhf commented Apr 8, 2022

Copy link
Copy Markdown
ContributorAuthor

Now I had tested the hello-world passed both the release and debug mode based on the latest main-LoongArch64.

@BruceForstall

Copy link
Copy Markdown
Contributor

@mangod9@janvorli@jkotas Is there anything left here to review? (fyi, I just merged the LoongArch64 JIT PR)

@shushanhf
shushanhf requested a review from janvorliApril 13, 2022 02:46
@shushanhf

Copy link
Copy Markdown
ContributorAuthor

@mangod9@janvorli@jkotas
Could you please give me some advices further?

@shushanhf

shushanhf commented Apr 20, 2022

Copy link
Copy Markdown
ContributorAuthor

Hi, @mangod9@janvorli@jkotas

What should I do for this PR next?
Could you please give me some advices ?

@mangod9

Copy link
Copy Markdown
Member

Hi @shushanhf, sorry for delayed response. We plan to review this again this week and will merge with a green CI. Thanks

@janvorlijanvorli left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thank you!

@mangod9

Copy link
Copy Markdown
Member

@mangod9

Copy link
Copy Markdown
Member

Looks to have passed on rerun. So will merge it now.

@mangod9
mangod9 merged commit febeba3 into dotnet:mainApr 21, 2022
@BruceForstall

Copy link
Copy Markdown
Contributor

@shushanhf Thanks for your patience and response to code review feedback. And congratulations on getting this merged!

BruceForstall pushed a commit that referenced this pull request Apr 25, 2022
* [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 <qiaopengcheng-hf@loongson.cn>
@shushanhf
shushanhf deleted the main_loongarch64_2 branch May 11, 2022 01:12
@ghostghost locked as resolved and limited conversation to collaborators Jun 10, 2022
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

arch-loongarch64area-VM-coreclrcommunity-contributionIndicates that the PR has been added by a community member

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants

@shushanhf@dnfadmin@kant2002@jkotas@mangod9@BruceForstall@janvorli@am11