1
0
Fork 0
mirror of https://github.com/VSadov/Satori.git synced 2025-06-08 11:37:04 +09:00
Commit graph

15 commits

Author SHA1 Message Date
github-actions[bot]
46adbbb3b2
[release/8.0-staging] GT_STORE_BLK - do not call memset for blocks containg gc pointers on heap (#96514)
* Loop-based impl

* Add asserts

* Add another test case

* Update StructWithGC_Zeroing.csproj

* Update StructWithGC_Zeroing.cs

* clean up

* Fix arm32

* Address feedback

* Add a small note

* Add RISC-V and LA64

* Address feedback

* fix build

* fix build

* CI test

* Fix build

* Clean up

* Apply suggestion

* Use REG_R0 on RISC-V and LA64, use ZR on ARM64

* fix build

* Clean up

* Update src/coreclr/jit/codegenloongarch64.cpp

Co-authored-by: Qiao Pengcheng <qiaopengcheng@loongson.cn>

* Apply suggestions for risc-v

---------

Co-authored-by: EgorBo <egorbo@gmail.com>
Co-authored-by: Qiao Pengcheng <qiaopengcheng@loongson.cn>
2024-01-13 08:27:20 -08:00
Jan Vorlicek
4fbd7c5827
Set the CORINFO_EH_CLAUSE_SAMETRY on CORINFO_EH_CLAUSE (#88072)
* Set the CORINFO_EH_CLAUSE_SAMETRY on CORINFO_EH_CLAUSE

This change makes setting the `CORINFO_EH_CLAUSE_SAMETRY` on
`CORINFO_EH_CLAUSE` to happen for coreclr to. It is a prerequisity for the
port of exception handling from nativeaot to coreclr and it is a noop on
coreclr with the old exception handling.

* Fix comments

* Add clr-abi note and r2rdump support for the flag

* Fix markdown LINT error

* Update docs/design/coreclr/botr/clr-abi.md

* Update docs/design/coreclr/botr/clr-abi.md

* Update the ABI doc

---------

Co-authored-by: Jan Kotas <jkotas@microsoft.com>
2023-07-26 18:48:32 +02:00
Alexander Soldatov
224927519c
[RISC-V] Fix Stubs for Generics (#87316)
Fix register saving before passing generic instantiation parameter.
2023-06-09 17:43:48 -07:00
mikelle-rogers
afa9a930b8
EnC Support for Generics (#85269)
* EnC non-functional changes
- Update inappropriate naming
- Update many logging statements
- Remove unused code

* EnC support for fields on generic types

* EnC support for methods on generic types

* Fix use after free introduced in EnC breakpoint.
Fix off by one for string logging.

* update new feature capabilities, JIT GUID

* Fix non-enc build

* Fix EnCFieldIndex check

* Remove IsFdPrivate assert

---------

Co-authored-by: Aaron R Robinson <arobins@microsoft.com>
Co-authored-by: Juan Hoyos <19413848+hoyosjs@users.noreply.github.com>
Co-authored-by: Tom McDonald <tommcdon@microsoft.com>
2023-04-25 10:32:19 -07:00
Tanner Gooding
db93e03226
Updating some places to cover xmm16-xmm31 (#84088)
* Updating some places to cover xmm16-xmm31

* Remove XMM0-XMM31 and K0-K7 from mapRegNumToDwarfReg
2023-03-29 16:19:44 -07:00
Adeel Mujahid
9d6396deb0
Fix typos (#72709) 2022-07-23 20:24:28 -07:00
Jakob Botsch Nielsen
8ca9916b0d
Add arm64 support for EnC (#69679)
This adds support for EnC on arm64. A couple of notes on the
implementation compared to x64:
- On x64 we get the fixed stack size from unwind info. However, for the
  frames we set up on arm64 for EnC it is not possible to extract the
  frame size from there because their prologs generally look like

  stp fp, lr, [sp,#-16]!
  mov fp, sp
  sub sp, sp, #144

  with unwind codes like the following:

  set_fp; mov fp, sp

  save_fplr_x #1 (0x01); tp fp, lr, [sp, #-16]!

  As can be seen, it is not possible to get the fixed stack size from
  unwind info in this case. Instead we pass it through the GC info that
  already has a section for EnC data.

- On arm64 the JIT is required to place the PSPSym at the same offset
  from caller-SP for both the main function and for funclets. Due to
  this we try to allocate the PSPSym as early as possible in the main
  function and we must take some care in funclets.  However, this
  conflicts with the EnC frame header that the JIT uses to place values
  that must be preserved on EnC transitions. This is currently
  callee-saved registers and the MonitorAcquired boolean.

  Before this change we were allocating PSPSym above (before) the
  monitor acquired boolean, but we now have to allocate MonitorAcquired
  first, particularly because the size of the preserved header cannot
  change on EnC transitions, while the PSPSym can disappear or appear.
  This changes frame allocation slightly for synchronized functions.
2022-05-24 00:14:18 +02:00
Jan Kotas
b59c6491dd
Rename CoreRT to NativeAOT (1/N) (#68888)
Co-authored-by: Theodore Tsirpanis <teo@tsirpanis.gr>
2022-05-05 18:14:28 -07:00
Qiao Pengcheng
90b7be39c4
[LoongArch64] JIT/EE interface for getting ABI-info (#62893)
* [LoongArch64] add ToolBox directory about jitinterace for getting ABI-info. (#59561)

Co-authored-by: Loongson's .NET-teams

* [LoongArch64] add new interace for getting ABI-info. (#59561)

* [LoongArch64] add the linking page for LoongArch64 ABI-info. (#59561)

* [LoongArch64] moved ThunkInput.txt to #62885.

* [LoongArch64] moved vm/jitinterface.cpp to #62885.

* remove the JIT/EE interface back from #62885..

* [LoongArch64] Fix the compiling error after merge.

* [LoongArch64] add comments for the returned value of `getFieldTypeByHnd`.

* [LoongArch64] rename getFieldTypeByHnd to getFieldSizeClassificationByHnd.
Also add macro define for returned value of `getFieldSizeClassificationByHnd`.

* [LoongArch64] Delete the interface `getArgType2`.
And refactor the returned values of `getFieldSizeClassificationByHnd`.

* [LoongArch64] delete `GetArgType` within `ToolBox/superpmi`.

* [LoongArch64] rename `getFieldSizeClassificationByHnd` to
`getLoongArch64PassStructInRegisterFlags`.

* [LoongArch64] amend the floating-ABI for native-struct.

* [LoongArch64] update all related `GetFieldSizeClassificationByHnd`
by `GetLoongArch64PassStructInRegisterFlags` and amend some comments.

* [LoongArch64] replace `LookupApproxFieldTypeHandle()`
by `GetFieldTypeHandleThrowing()`.

* [LoongArch64] implements the crossgen2 for LoongArch64.

* Revert "[LoongArch64] implements the crossgen2 for LoongArch64."

This reverts commit b05a2b90e8d8a2f6d1cf7f101ddfc9d4ed8d984e.

The crossgen2 for LoongArch64 will be submitted by a new PR.

* [LoongArch64] update the `GUID JITEEVersionIdentifier`.
Also delete some unused comments.

Co-authored-by: qiaopengcheng <qiaopengcheng-hf@loongson.cn>
2022-02-18 00:07:48 -08:00
Jakob Botsch Nielsen
3fc8b09944
Add JIT support for control-flow guard on x64 and arm64 (#63763)
Add support for generating control-flow guard checks. The support is enabled by a JIT flag or by setting COMPlus_JitForceControlFlowGuard=1.

Co-authored-by: Michal Strehovský <MichalStrehovsky@users.noreply.github.com>
2022-02-08 18:20:12 +01:00
Adeel Mujahid
8ae1c49726
Convert some old style intrinsics to NamedIntrinsic (#62271)
* Convert some old style intrinsics to NamedIntrinsic

* Delete GetStubContextAddr and related code

* More cleanups

Co-authored-by: EgorBo <egorbo@gmail.com>
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
2021-12-09 08:25:34 -08:00
Bruce Forstall
956e58445f
Add information about frame chaining to CLR ABI (#53563)
* Add information about frame chaining

Update links for per-platform ABI documentation.

A few editorial changes.

* Code review feedback
2021-06-02 10:19:05 -07:00
Jeremy Koritzinsky
d5a9b9d06c
Add a blurb on the x86 calling convention to clr-abi.md (#45807)
Co-authored-by: Sergey Andreenko <seandree@microsoft.com>
2020-12-08 16:43:08 -08:00
Adeel Mujahid
f23e2796ab Update URLs in BOTR (#1441)
- update links to sources from dotnet/coreclr -> dotnet/runtime/src/coreclr
- fix dead urls (github and non-github) under docs/design/coreclr.
- use https://software.intel.com/sites/default/files/article/402129/mpx-linux64-abi.pdf as a new home for x64 System V ABI, as http://x86-64.org is now abandoned. Update source files as well.
- normalize “, ” and ’ to ascii " and ' and remove trailing whitespaces in modified files.
2020-01-08 08:20:19 -08:00
Viktor Hofer
a71a3249a9
Consolidate docs (#251)
* Consolidate sub-repo docs
2019-11-25 23:52:43 +01:00
Renamed from docs/coreclr/botr/clr-abi.md (Browse further)