[LoongArch64] coreclr-vm directory (#62885)
authorQiao Pengcheng <qiaopengcheng@loongson.cn>
Thu, 21 Apr 2022 16:55:30 +0000 (00:55 +0800)
committerGitHub <noreply@github.com>
Thu, 21 Apr 2022 16:55:30 +0000 (09:55 -0700)
commitfebeba309d6606f2c3ca0ee5ef4ba161596e8a25
tree40b08ee7c6d8ec569459fe1a922c64e9460543e9
parent2389815a1bc810b5b3c39586b570cbaae2f0f3a5
[LoongArch64] coreclr-vm directory (#62885)

* Part6-2: -add the coreclr-vm directory for LoongArch64. (#59561)

Co-authored-by: Loongson's .NET-teams
* [LoongArch64] revert the syncblk.cpp.

* [LoongArch64] delete some unused codes.

* [LoongArch64] add vm/CMakeLists.txt from #62889.

* [LoongArch64] add related files from #62886 and #62893.

* [LoongArch64] moved vm/jitinterface.cpp from #62893.
moved inc/corinfo.h from #6288.

* [LoongArch64] run the file `src/coreclr/tools/Common/JitInterface/ThunkGenerator/gen.sh`
and merge the patch from #62893.

* [LoongArch64] revert vm/ceeload.h.
amend the `ToolBox/superpmi/superpmi-shared/agnostic.h`

* [LoongArch64] add empty interfaces within `CorInfoImpl.cs`.

* [LoongArch64] Fix the compiling error on Windows.

* [LoongArch64] Fix the compiling error for memory unaligned m_currentByteStackIndex.

* [LoongArch64] Delete the !TARGET_LOONGARCH64 for m_currentByteStackIndex.

* [LoongArch64] move ToolBox from #62886.

* [LoongArch64] amend the args when needs unsigned extending within CallTargetWorker.

* [LoongArch64] add bool type for args' unsigned extention.

* [LoongArch64] adding char type for args' unsigned extention.
Also rename `TARGET_LOONGARCH64` to `UNIX_LOONGARCH64_ABI` within ABI.

* [LoongArch64] amend renaming `TARGET_LOONGARCH64` to `UNIX_LOONGARCH64_ABI` within ABI.

* [LoongArch64] remove the JIT/EE interface to #62893.

* [LoongArch64] revert the rename `TARGET_LOONGARCH64` to `UNIX_LOONGARCH64_ABI`.
Also add unsigned extend for CHAR type.

* [LoongArch64] refactor the `ArgDestination and ArgLocDesc`.

* [LoongArch64] rename the `m_flag` and `getFieldTypeByHnd`.

* [LoongArch64] add `NATIVE_SYMBOL_READER_DLL` for compiling error.

* [LoongArch64] update the version of the `LICENSE description`.

* [LoongArch64] keep same with the comment in `jit/targetloongarch64.h`

* [LoongArch64] amend the code for reviewing.

* [LoongArch64] refactor LoongArch64-ABI within `vm`,
and also amend some code for review.

* [LoongArch64] delete unused codes.

* [LoongArch64] merge main for #65869.

* [LoongArch64] amend the format for reviewing.

* [LoongArch64] delete some unused code for reviewing.

* [LoongArch64] amend code for CR feedback @jkotas @janvorli

* [LoongArch64] add class type for LoongArch64-ABI.

* [LoongArch64] Amend the LoongArch64's ABI
after merged `MethodTable::GetLoongArch64PassStructInRegisterFlags()`
and `CEEInfo::getLoongArch64PassStructInRegisterFlags()`

* [LoongArch64] Fix the assert error
when running hello-world within debug-mode after refacting.

Co-authored-by: qiaopengcheng <qiaopengcheng-hf@loongson.cn>
57 files changed:
src/coreclr/inc/clrnt.h
src/coreclr/inc/eetwain.h
src/coreclr/inc/jithelpers.h
src/coreclr/inc/stdmacros.h
src/coreclr/tools/superpmi/superpmi-shared/compileresult.cpp
src/coreclr/tools/superpmi/superpmi-shared/spmiutil.cpp
src/coreclr/tools/superpmi/superpmi-shared/spmiutil.h
src/coreclr/tools/superpmi/superpmi/superpmi.cpp
src/coreclr/vm/CMakeLists.txt
src/coreclr/vm/argdestination.h
src/coreclr/vm/callcounting.h
src/coreclr/vm/callhelpers.cpp
src/coreclr/vm/callingconvention.h
src/coreclr/vm/ceeload.h
src/coreclr/vm/cgensys.h
src/coreclr/vm/codeman.cpp
src/coreclr/vm/codeman.h
src/coreclr/vm/comdelegate.cpp
src/coreclr/vm/dynamicmethod.cpp
src/coreclr/vm/eetwain.cpp
src/coreclr/vm/encee.cpp
src/coreclr/vm/excep.cpp
src/coreclr/vm/exceptionhandling.cpp
src/coreclr/vm/frames.h
src/coreclr/vm/gccover.cpp
src/coreclr/vm/gccover.h
src/coreclr/vm/gcenv.ee.cpp
src/coreclr/vm/gcinfodecoder.cpp
src/coreclr/vm/gdbjit.cpp
src/coreclr/vm/interpreter.cpp
src/coreclr/vm/interpreter.h
src/coreclr/vm/jitinterface.cpp
src/coreclr/vm/jitinterface.h
src/coreclr/vm/loongarch64/asmconstants.h [new file with mode: 0644]
src/coreclr/vm/loongarch64/asmhelpers.S [new file with mode: 0644]
src/coreclr/vm/loongarch64/calldescrworkerloongarch64.S [new file with mode: 0644]
src/coreclr/vm/loongarch64/cgencpu.h [new file with mode: 0644]
src/coreclr/vm/loongarch64/crthelpers.S [new file with mode: 0644]
src/coreclr/vm/loongarch64/excepcpu.h [new file with mode: 0644]
src/coreclr/vm/loongarch64/gmscpu.h [new file with mode: 0644]
src/coreclr/vm/loongarch64/pinvokestubs.S [new file with mode: 0644]
src/coreclr/vm/loongarch64/profiler.cpp [new file with mode: 0644]
src/coreclr/vm/loongarch64/stubs.cpp [new file with mode: 0644]
src/coreclr/vm/loongarch64/thunktemplates.S [new file with mode: 0644]
src/coreclr/vm/loongarch64/unixstubs.cpp [new file with mode: 0644]
src/coreclr/vm/loongarch64/virtualcallstubcpu.hpp [new file with mode: 0644]
src/coreclr/vm/methodtable.cpp
src/coreclr/vm/methodtable.h
src/coreclr/vm/object.cpp
src/coreclr/vm/precode.cpp
src/coreclr/vm/precode.h
src/coreclr/vm/prestub.cpp
src/coreclr/vm/stackwalk.cpp
src/coreclr/vm/stackwalk.h
src/coreclr/vm/stubmgr.cpp
src/coreclr/vm/threads.cpp
src/coreclr/vm/threadsuspend.cpp