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

25 commits

Author SHA1 Message Date
David Wrighton
b764cae5f8
Enable basic generation of ngen pdb from composite image (#36311)
* Enable basic generation of ngen pdb from composite image
- Port non-line number handling portion of ngen pdb from crossgen to r2rdump
  - This pdb generation logic may be used for both composite and non-composite R2R images
  - Only pdb generation is supported. Perfmap generation for unix is not supported
  - pdb generation is only supported on Windows x86 and amd64 platforms. Diasymreader is not supported on other systems
  - Pdb generation does not generation symbols with the same names as crossgen. Instead it uses the name generator from r2rdump. For current needs this should be sufficient
- Update composite file format so that pdb generation process will work. Major difference is that a CorHeader is always produced for composite images now. This CorHeader is not used by the runtime, but is required for DiaSymReader to generate an ngen pdb.
2020-05-15 12:31:27 -07:00
Aaron Robinson
99aae90739
Update the mscorlib.md document. (#36225)
Rename mscorlib.md to corelib.md.
Remove no longer relevant details.
2020-05-11 12:29:42 -07:00
Matt Warren
24c599aecb
Fix broken links on Botr doc (#35973)
Sorry, I messed these up in my previous PR
2020-05-07 12:38:13 -04:00
Matt Warren
a206f8e5a2
Fix-up styling to make the doc more readable (#35803)
Also remove unneeded '\' characters
2020-05-04 13:24:51 -07:00
nietras
01a08fec29
Update shared-generics.md to use Method<> instead of Func<> (#35181)
To avoid confusion with `Func<>` delegate and object. At least to me it create a bit of unnecessary confusion. Whether this should be `Method` or just `F` can be discussed. However, `Method` makes it clear the discussion is about a generic **method** instantiation.
2020-04-19 14:23:26 -07:00
David Wrighton
5ac25ac11d
Hardware instruction set support for crossgen2 (#33274)
- Add support for the --instruction-set parameter as described in #226 . 
NOTE: As the abi for Vector parameters is not yet stable, support for the --instruction-set parameter is only enabled if --inputbubble is also enabled. Parallel work to stabilize the abi is in progress, but is not complete.
ALSO NOTE: The names of the instruction sets are shared with mono, and don't follow the names in issue #226
- Add concept of baseline instruction set support to R2R file format 
- Can be applied at a per method level or at the entire R2R file level
  - R2RDump support for dumping the extra data
- Refactor how support for hardware intrinsics beyond SSE2 support are handled in crossgen2 
- Add feature to the JIT to detect which hardware features are actually used
  - Tell the JIT unconditionally that SSE42+Lzcnt+Popcnt+Pclmulqdq are supported
  - But if support beyond the --instruction-set specified baseline is used, notate the method with a per-method instruction set support fixup.
  - This enables usage of many intrinsics in corelib with greater efficiency than today
  - This enables usage of SSE42 and below intrinsics safely in non-CoreLib code. Use of higher level intrinsics in non CoreLib code will generate code which does not use the higher level intrinsic, and note that the method's code should not be used in the presence of hardware which does support greater CPU capabilities. 
  - In the future a logical enhancement of this work would be to generate multiple bodies of code to handle these more complex cases.
  - In combination with the --instruction-set argument, if Avx2 is enabled, then the logic gracefully adds a dependency on Avx2 capability and Vector<T> becomes useable by crossgen'd code.
2020-04-03 16:02:12 -07:00
Bruce Forstall
a21da8f6d9
Move JIT documentation to new docs/design/coreclr/jit directory (#33321)
Reduce clutter in the shared directory, and make it easier to find
all the JIT-related documentation.
2020-03-10 08:53:57 -07:00
Jan Kotas
fc2e56c8e8
Revert "Revert "Dynamic generic dictionary expansion feature (#32270) (#33343)
* Revert "Revert "Dynamic generic dictionary expansion feature (#32270)" (#33310)"

This reverts commit dca34293ad.

* Fix race condition in dynamic dictionary resizing
2020-03-09 10:34:36 -07:00
Fadi Hanna
dca34293ad
Revert "Dynamic generic dictionary expansion feature (#32270)" (#33310)
This reverts commit 718255964a.
2020-03-06 17:00:48 -08:00
Dan Moseley
8497763bbf
Fix another 58 URL's (#33003) 2020-02-28 18:54:32 -08:00
Kunal Pathak
d76ef042f8
Make JitDump label output multi-thread safe (#32578)
* Make JitDump label output multi-thread safe

`s_compMethodsCount` is a static variable and incrementing it when
two JITs are running at the same time can result in inconsistent labels. This PR fixes it by adding an instance variable `compMethodID` on `Compiler` object and setting it to the value of `s_compMethodsCount` after incrementing it using `InterlockedIncrement()`.

Changed the type of `s_compMethodID` to `LONG` to match the signature of `InterlockedIncrement()` and made it private.

Fixes #10984
2020-02-27 09:19:23 -08:00
Fadi Hanna
718255964a
Dynamic generic dictionary expansion feature (#32270)
* Dynamic dictionary expansion feature

1) Separate dictionary layout expansion from dictionary expansions on types and methods
2) Dictionary expansions on types and methods done on-demand (if needed), after size checks by codegen (uses new JIT feature)
3) Update the R2R dictionary access stubs to perform size checks (and major cleanup there)
4) Add unit test
5) Update documentation
6) Update JIT interface guid
2020-02-24 17:57:39 -08:00
Tomáš Rylek
75d8683ff9
Updates and additions to the composite R2R format (#32137)
Based on my progress with composite R2R implementation I propose
clarifying the design as follows:

1) I have proposed a rewriting scheme for the standalone MSIL
files next to the composite R2R executable to receive forwarding
information pointing at the composite file;

2) I have updated the section names I renamed yesterday and I
added a description of the new section OwnerCompositeExecutable
to be used for the forwarding information.

Thanks

Tomas
2020-02-12 01:23:49 +01:00
Andrew Au
c6b0c0b28b
Clarify what runtime function means (#31925) 2020-02-07 10:10:17 -08:00
Tomáš Rylek
2590947055
Updated composite R2R format doc (#2221)
I have resurrected my preliminary composite R2R format doc,
I rebased it to include some recent changes. For the process
itself, I assume I should first implement the self-contained
composite R2R format with standalone MSIL metadata as that's
the simplest scenario. After that I'll follow up w.r.t.
shared framework compilation and other scenarios (embedded MSIL,
single exe).

Thanks

Tomas
2020-02-04 22:38:32 +01:00
Michal Strehovský
756249e3fd
Add support for emitting inlining info in large version bubble (#1981)
The existing inlining info format wasn't ready for large version bubble. This adds a new table that uses the NativeHashtable to store the inlining info.

This implements support in crossgen2, r2rdump, and the runtime. Crossgen will keep generating the old format until crossgen is decommissioned.
2020-01-30 21:32:31 +01: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
Dan Moseley
9900dfb4b2
Organize some markdowns and fix links (#1159)
* Move files into hierarchy

* fix more links

* Fix botr and features links

* Remove bad apostrophe

* spelling

* Apply suggestions from code review

Co-Authored-By: Youssef Victor <31348972+Youssef1313@users.noreply.github.com>

* Update docs/coding-guidelines/package-projects.md

Co-Authored-By: Jan Kotas <jkotas@microsoft.com>

Co-authored-by: Youssef Victor <31348972+Youssef1313@users.noreply.github.com>
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
2019-12-26 15:22:57 -08:00
Carol Eidt
be71bafdbe
Clarify Lowering in ryujit-overview (#859) 2019-12-13 15:54:27 -08:00
Carol Eidt
8c878a0968
Clarify Lowering in ryujit-overview (#844) 2019-12-13 12:55:21 -08:00
Bruce Forstall
4a7a2a81de
Update RyuJIT documentation (#755)
* Update RyuJIT documentation

1. Convert links to reference new repo
2. Update various mostly stylistic things in the RyuJIT overview
3. Add more high-level strategy/steps statements to the RyuJIT porting guide

* Update for code review comments
2019-12-12 11:13:42 -08:00
Medeni Baykal
3d4ee62156 Fixed a typo. (#763) 2019-12-11 09:46:53 -05:00
David Wrighton
72697763a6
Add porting guide (#716)
- General guidance for porting CoreCLR to a new architecture
2019-12-10 16:33:57 -08:00
Drew Noakes
12894380bb Remove references to gender (#262) 2019-11-26 15:33:12 +01:00
Viktor Hofer
a71a3249a9
Consolidate docs (#251)
* Consolidate sub-repo docs
2019-11-25 23:52:43 +01:00