Skip to content
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

[RISC-V] coreclr-vm and other directories in coreclr #82381

Merged
merged 17 commits into from
Apr 14, 2023

Conversation

clamp03
Copy link
Member

@clamp03 clamp03 commented Feb 20, 2023

  • Successfully cross-build for RISC-V.
  • Run A simple application "helloworld"
  • Fail a test in clr.paltest

@ghost ghost added the community-contribution Indicates that the PR has been added by a community member label Feb 20, 2023
This was referenced Feb 20, 2023
@jkotas jkotas added arch-riscv Related to the RISC-V architecture area-VM-coreclr labels Feb 20, 2023
@clamp03 clamp03 force-pushed the riscv_vm branch 2 times, most recently from ba6f364 to 3db1146 Compare February 21, 2023 05:32
@clamp03 clamp03 force-pushed the riscv_vm branch 3 times, most recently from 8ee2012 to 1bcdcc7 Compare February 23, 2023 02:06
@clamp03
Copy link
Member Author

clamp03 commented Feb 23, 2023

@mangod9 Could you review this PR? Actually I don't know why tests failed or cancelled.
If you leave any comment, I will update as possible as I can.
Thank you.

@mangod9
Copy link
Member

mangod9 commented Feb 23, 2023

@janvorli as well. Also are you asking about why the superpmi tests are failing or something else?

@clamp03
Copy link
Member Author

clamp03 commented Feb 23, 2023

Actually, I am asking reviews from you and owners to merge the PR. To get review, I tried to pass all tests, but some tests failed and I cannot find the reasons. :)

src/coreclr/inc/regdisp.h Outdated Show resolved Hide resolved
src/coreclr/inc/volatile.h Outdated Show resolved Hide resolved
src/coreclr/vm/codeman.cpp Outdated Show resolved Hide resolved
src/coreclr/vm/codeman.cpp Outdated Show resolved Hide resolved
@@ -92,7 +92,20 @@ class NativeFieldDescriptor
return m_category;
}

PTR_MethodTable GetNestedNativeMethodTable() const;
PTR_MethodTable GetNestedNativeMethodTable() const
Copy link
Member

Choose a reason for hiding this comment

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

is this definition moved here for consistency?

Copy link
Member Author

Choose a reason for hiding this comment

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

This is for resolving a build error.

  [ 93%] Building CXX object vm/wks/CMakeFiles/cee_wks_core.dir/__/weakreferencenative.cpp.o
  /usr/bin/riscv64-linux-gnu-ld: ../../dlls/mscordac/libmscordaccore.so: undefined reference to `NativeFieldDescriptor::GetNestedNativeMethodTable() const'
  clang: error: linker command failed with exit code 1 (use -v to see invocation)               
  make[2]: *** [debug/createdump/CMakeFiles/createdump.dir/build.make:308: debug/createdump/createdump] Error 1

fieldmarshalre.cpp is not included for createdump.
I resolved this error by putting the implemention into header.

@clamp03 clamp03 force-pushed the riscv_vm branch 2 times, most recently from 72dccdb to fdaf64f Compare March 7, 2023 12:11
clamp03 added 6 commits March 8, 2023 11:39
- Successfully cross-build for RISC-V.
- Run A simple application "helloworld"
- Fail a test in clr.paltest
Updated by review in dotnet#82380
@clamp03
Copy link
Member Author

clamp03 commented Apr 6, 2023

Revert [[VM] Add getRISCV64PassStructInRegisterFlags](https://github.com/dotnet/runtime/pull/82381/commits/cd1ea45de36458a5e3ec66a325bf3e0c4812680d) and apply to #82379 for coherent JIT-EE implementations/consumptions (#82379 (comment))

In coreclr-jit patch, it makes getRISCV64PassStructInRegisterFlags for
RISCV64. So restore getLoongArch64PassStructInRegisterFlags
@clamp03
Copy link
Member Author

clamp03 commented Apr 9, 2023

@mangod9 Could you review it? And if it is good, could you please merge it? I fixed all the things requested by the reviewers and waited 50 days. Other two PRs (#82379 , #82382) are already merged. Actually, I cannot fix all bugs and unimplemented code with just this PR. After the PR is merged, I will continue to fix and my colleagues and community members can help to support RISC-V in coreclr better.

Copy link
Member

@janvorli janvorli left a comment

Choose a reason for hiding this comment

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

LGTM, thank you!

@clamp03
Copy link
Member Author

clamp03 commented Apr 13, 2023

LGTM, thank you!

Thank you for the approval. If it is okay, could you merge this PR? If it needs more approvals or something else, please let me know.

@janvorli
Copy link
Member

@clamp03 there are some conflicts, can you please resolve them?

@clamp03
Copy link
Member Author

clamp03 commented Apr 13, 2023

@clamp03 there are some conflicts, can you please resolve them?

@janvorli Sure. I resolved and pushed a commit. Thank you!

@janvorli janvorli merged commit f66c469 into dotnet:main Apr 14, 2023
@clamp03 clamp03 deleted the riscv_vm branch April 18, 2023 04:11
shushanhf added a commit to shushanhf/runtime that referenced this pull request Apr 18, 2023
Comment on lines +871 to +885
elseif(clr_cmake_target_arch_loongarch64)
set(vm_sources_dac_and_wks_arch
${arch_sources_dir}/stubs.cpp
exceptionhandling.cpp
)

set(vm_headers_dac_and_wks_arch
${arch_sources_dir}/virtualcallstubcpu.hpp
exceptionhandling.h
)

set(vm_sources_wks_arch
${arch_sources_dir}/profiler.cpp
gcinfodecoder.cpp
)
Copy link
Contributor

@shushanhf shushanhf Apr 18, 2023

Choose a reason for hiding this comment

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

@clamp03 why did you destroy the LoongArch64's config?????
You can copy the LoongArch64's code But please don't destroy the LoongArch64's config.

Copy link
Member Author

Choose a reason for hiding this comment

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

@shushanhf I am really sorry. It is just my mistake. I don't want to destroy LoongArch64 at all. Sorry again.

Copy link
Contributor

Choose a reason for hiding this comment

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

@shushanhf I am really sorry. It is just my mistake. I don't want to destroy LoongArch64 at all. Sorry again.

shake hands.

@ghost ghost locked as resolved and limited conversation to collaborators May 18, 2023
@clamp03 clamp03 self-assigned this Sep 7, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
arch-riscv Related to the RISC-V architecture area-VM-coreclr community-contribution Indicates that the PR has been added by a community member
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants