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

36 commits

Author SHA1 Message Date
Aaron Robinson
7134e1e6a4
Update docs for ByRefLike with generics for work in .NET 10 (#103318)
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
2024-07-25 13:31:36 -07:00
Thorsten Reichert
7e273c6df6
Fix method numbering in Memory-model.md example code (#105168)
Comments are numbering ThreadFuncs as 1,2,3 while method names are ThreadFunc1, ThreadFunc1, ThreadFunc2.
2024-07-21 08:41:21 -07:00
Ken Dale
59f2833b98
Update docs.microsoft.com usages to learn.microsoft.com (#102881)
* Update https://docs.microsoft.com to https://learn.microsoft.com

* Update http://docs.microsoft.com/ to https://learn.microsoft.com (removes trailing slash)

* Update docs.microsoft.com to https://learn.microsoft.com

* Update docs.microsoft.com to learn.microsoft.com

* Replace learn.microsoft.com/en-us/ with learn.microsoft.com/ to remove locale from urls
2024-05-31 11:27:45 -07:00
David Wrighton
7269f90cb0
Improve the hashtable for EEClassHash (#94825)
- Fixup EEClassHash to support a hash function that includes enclosing class
- Move namespace/name splitting to the Type.GetType code paths
- Move exported type handling into the normal PopulateAvailableClass flow
- Remove unnecessary work done to detect typedef name duplicates. We don't attempt to protect against invaild assemblies anymore
- Unify path for insertion between ExportedType and TypeDef records, also unify the path for nested vs non-nested
- Fix logic which implements inserts into the case insensitive table when dynamically adding entries to the ExportedType table (Previously it didn't work)
2024-01-04 12:41:56 -08:00
Jan Kotas
4aa77dfb06
Add note about creating arrays using newobj (#90070)
Contributes to #90038
2023-08-06 08:05:28 -07:00
Jan Kotas
c79d74897b
Add note about transient pointers to ECMA augments (#86622)
Fixes #62784
2023-05-22 22:04:38 -07:00
Michal Strehovský
0219a1b8ba
Update ECMA-335 for function pointer changes (#84962)
#81006 changes the meaning of function pointer types.
2023-04-24 15:40:39 +09:00
MSDN.WhiteKnight
2b74314b3c
Fix links in Portable PDB spec (#82683) 2023-02-26 16:59:46 -08:00
Günther Foidl
2d1ca83188
Fixed relative links in Memory-model.md (#79785) 2022-12-17 07:25:52 -08:00
Vladimir Sadov
cb603fc4eb
Memory model document. (#75790)
* Created memory-model.md

* addresses some comments

* More details and samples.

* Fix trailing whitespaces.

* More trailing whitespace

* More trailing whitespace.

* Apply suggestions from code review (typos)

Co-authored-by: Jan Kotas <jkotas@microsoft.com>
Co-authored-by: Dan Moseley <danmose@microsoft.com>

* replaced references to CLR with ".NET runtime"

* Addressed some PR review feedback

* Moved to specs folder

* More addressing PR feedback

* Volatile/Interlocked methods are atomic

* Better notes about atomicity of pointers

* Apply suggestions from code review

Co-authored-by: Jan Kotas <jkotas@microsoft.com>

* Addressing more PR feedback

* Updated singleton sample for more clarity.

* Trailing whitespace.

* Move data dependent reads to general section

* Compat disambiguation note on object assignments.

* Apply suggestions from code review

Co-authored-by: Jan Kotas <jkotas@microsoft.com>

* No dots at title ends

* "Data-dependent" spelled with dash consistently

* Apply suggestions from code review

Co-authored-by: Jan Kotas <jkotas@microsoft.com>

* Apply suggestions from code review

Co-authored-by: Aaron Robinson <arobins@microsoft.com>

* Apply suggestions from code review

Co-authored-by: Bruce Forstall <brucefo@microsoft.com>

* order of object assignment and data-dependent memory accesses

* Listed primitive types.

* Briefly explained motivations for the treatment of memory access sideeffects.

* Update docs/design/specs/Memory-model.md

Co-authored-by: Jan Kotas <jkotas@microsoft.com>

* Link to the data-dependent accesses and compiler optimizations followup issue.

* removed unnecessary `[`

* Update docs/design/specs/Memory-model.md

* Trailing whitespace

Co-authored-by: Jan Kotas <jkotas@microsoft.com>
Co-authored-by: Dan Moseley <danmose@microsoft.com>
Co-authored-by: Aaron Robinson <arobins@microsoft.com>
Co-authored-by: Bruce Forstall <brucefo@microsoft.com>
2022-12-16 11:26:07 -08:00
Adeel Mujahid
3855a99c9d
Fix typos (#79136) 2022-12-03 22:53:17 -08:00
David Wrighton
693dbf2c69
Describe the validity of null managed pointers (#71794)
* Describe the validity of null managed pointers
- Declare that it is valid to have a null managed pointer, but declare it invalid to actually read from such a pointer
  - In practice this has always been legal, as it has been legal to managed pointer locals for years, and they are included in the list of values that are zeroinitialized on method start
- Also clarify the rules to permit a managed pointer to the location directly following a managed object.
  - This is a new capability in the spec that will likely be useful for accessing fixed size data buffers held in objects of the GC heap. However, the GC has been able to tolerate this behavior for many years, so there is no code change necessary.

Fixes #69690

Co-authored-by: Jan Kotas <jkotas@microsoft.com>
Co-authored-by: Aaron Robinson <arobins@microsoft.com>
2022-08-02 12:28:03 -07:00
Adeel Mujahid
9d6396deb0
Fix typos (#72709) 2022-07-23 20:24:28 -07:00
Adeel Mujahid
3ea30ed321
Fix typos (#72314)
* Fix typos

* Cleanup trailing whitespaces in committed files

* Revert a macro for win32 compat

* Disambiguate test data method

* Revert XMLPath test which rely on external assets

* Revert whitespace change in Xml tests

* Revert ClrEtwAl and ILLink.Shared

* Revert crossgen2 props/targets and *.wxl
2022-07-16 22:11:11 -07:00
Jan Kotas
882e696cdb
Add note about Array.Initialize to ECMA-335 augments (#71766)
Fixes #71733
2022-07-07 11:53:25 -07:00
Jan Kotas
f2d5756d2a
Add note about partition IV and V to ECMA-335 augments (#71737)
Fixes #71733
2022-07-06 16:45:26 -07:00
Jan Kotas
1abd9a166d
Add note about backward branch constraints to ECMA-335 augments (#70760) 2022-06-14 20:19:07 -07:00
Jan Kotas
a0ffea86d3
Clarity atomicity guarantees in ECMA-335 (#70384) 2022-06-07 12:07:23 -07:00
AlekseyTs
424a09cb81
Proposed changes to ECMA 335 for checked user-defined operators (#66714)
C# now supports defining `checked` variants of the following user-defined operators so that users can opt into or out of overflow behavior as appropriate:
*  The `++` and `--` unary operators [§11.7.14](https://github.com/dotnet/csharpstandard/blob/draft-v6/standard/expressions.md#11714-postfix-increment-and-decrement-operators) and [§11.8.6](https://github.com/dotnet/csharpstandard/blob/draft-v6/standard/expressions.md#1186-prefix-increment-and-decrement-operators).
*  The `-` unary operator [§11.8.3](https://github.com/dotnet/csharpstandard/blob/draft-v6/standard/expressions.md#1183-unary-minus-operator).
*  The `+`, `-`, `*`, and `/` binary operators [§11.9](https://github.com/dotnet/csharpstandard/blob/draft-v6/standard/expressions.md#119-arithmetic-operators).
*  Explicit conversion operators.

Motivation:
There is no way for a user to declare a type and support both checked and unchecked versions of an operator. This makes it hard to port various algorithms to use the proposed `generic math` interfaces exposed by the libraries team. Likewise, this makes it impossible to expose a type such as `Int128` or `UInt128` without the language simultaneously shipping its own support to avoid breaking changes.

This change adds names for the new checked operators to the specification.
2022-04-06 06:54:22 -07:00
David Wrighton
135a9608c4
Proposed changes to ECMA 335 for ref field support (#63659)
* Initial proposed changes for ref fields

* Fix end of line issue

* Update docs/design/specs/Ecma-335-Augments.md

Co-authored-by: Aaron Robinson <arobins@microsoft.com>

* Update local signature wording

Co-authored-by: Aaron Robinson <arobins@microsoft.com>
2022-02-16 12:16:04 -08:00
David Wrighton
9e45de46c9
Add default method support to virtual statics (#64717)
- The preview feature version of virtual statics implemented for .NET 6 does not allow for the interface methods to have a default implementation.
- With this change, we add support for the interface method having an actual implementation to CoreCLR. From what I can tell the Mono runtime already had such support
- There are some small ECMA spec updates to allow this change that are also included

In addition, I've taken the liberty to enable running the coreclr test suite on Mono on Windows. It needed a small amount of fixup.
2022-02-09 10:44:15 -08:00
Jan Kotas
b571499765
Clarify purpose of PDB Document hashing (#64306)
Fixes #63505
2022-01-25 17:31:27 -08:00
David Wrighton
9d360c9aa2
Update NativeAOT codegen and Crossgen2 for CreateSpan (#63977)
- Make sure FieldRVA pointers remain aligned as required by the code generator
  - Use the same Packing Size approach as the IL Linker will use (See jbevain/cecil#817 for details)
  - Compilers that generate CreateSpan will need to follow that trick to be compatible with rewriters.
- Provide ECMA spec augment describing packing size detail
2022-01-23 14:23:32 -08:00
Michal Strehovský
b6657214f4
Remove sorting requirement for interface lists (#60541)
Fixes #60454.
2021-11-08 13:55:37 -08:00
Juan Hoyos
561f89a905
Enhance CrossGen2 to emit PerfMap debug directory entry (#58552)
* Only pass perfmap argument for Linux
* Enhance CrossGen2 to emit PerfMap debug directory entry

This is used to correlate PE's with their corresponding PerfMaps. For example the header in the perfmap could be:
```
FFFFFFFF 00 026D4D21B3EE3D93843FF7A964235822
FFFFFFFE 00 1
FFFFFFFD 00 1
FFFFFFFC 00 3
FFFFFFFB 00 1
```
And the PE will have the corresponding entries in the PE as:
```
PerfMap (Type 21):
        System.Private.CoreLib.ni.r2rmap, Signature = 026d4d21b3ee3d93843ff7a964235822, Version = 1
```

* Emit headers for debug directory entries from the nodes themselves.
* Add PerfMap Debug Directory Entry spec
* Extend perfmap and r2r documentation
2021-09-10 13:19:34 -07:00
WhiteBlackGoose
e7765d9c13
Typo fixed (#58393) 2021-08-30 13:26:23 -06:00
Sergey Andreenko
13a2b6dedf
Ecma edit for conv.ovf.<to type>.un. (#56450)
* Add a conv conformance test.

* Fix Ecma description.

* Fix the test.

* Update docs/design/specs/Ecma-335-Augments.md

Co-authored-by: Jan Kotas <jkotas@microsoft.com>

* Disable VN optimizations on arm64 because of the bug.

* add a new chapter.

* fix space

* Fix format.

* exclude the test on mono

Co-authored-by: Jan Kotas <jkotas@microsoft.com>
2021-08-03 17:04:17 -07:00
David Wrighton
5d4d913182
Covariant return updates to ecma augments (#56496)
* Covariant return updates to ecma augments
2021-07-28 17:43:46 -07:00
Tomáš Rylek
0979434b6d
ECMA spec addendum dealing with static interface methods (#49558)
Co-authored-by: David Wrighton <davidwr@microsoft.com>
Co-authored-by: Aleksey Tsingauz <alekseyt@microsoft.com>
Co-authored-by: Fred Silberberg <fred@silberberg.xyz>
2021-05-15 00:14:06 +02:00
David Wrighton
eebf52c641
Move default interfaces spec to common ecma335 addenda location (#49914) 2021-03-19 16:19:58 -07:00
Youssef Victor
5d5c3e7a58
Enable markdownlint rule (MD009) (#40887)
* Create markdownlint.yml

* Create markdownlint-problem-matcher.json

* Create .markdownlint.json

* Update .markdownlint.json

* fix violations

* fixes

* Remove "push" section

As advised by @viktorhofer so it's quite clear it only runs in CI.

Co-authored-by: Dan Moseley <danmose@microsoft.com>
2021-02-08 10:43:40 -08:00
Tomáš Matoušek
6747320e43
Document Compilation Options and Compilation Metadata References CDIs (#37605) 2020-12-03 20:46:50 -08:00
Youssef Victor
d14b50ae21
Fix trailing whitespaces (#40891)
* Trim trailing whitespaces

* Match raw with rendered

* Delete extra asterisks and |

* Update ELT Hooks - tail calls.md

Co-authored-by: Jan Kotas <jkotas@microsoft.com>
2020-08-19 17:29:01 -07:00
Alexander Köplinger
c6eac1f2d5
Cleanup old corefx/coreclr GitHub issue links (#40286)
Replace them with the current URL after the redirect.

Similar to https://github.com/dotnet/runtime/pull/2063.

Co-authored-by: Steve Pfister <steve.pfister@microsoft.com>
2020-08-13 23:13:51 +02:00
Joseph Musser
ae1b5b2589
Module initializers spec proposal (#35140)
* Bring over spec from https://blogs.msdn.microsoft.com/junfeng/2005/11/19/module-initializer-a-k-a-module-constructor/

* Document presence of 'metadata merging' as spec bug

* Guarantees that apply to all type initializers apply to module initializers

Co-authored-by: Jan Kotas <jkotas@microsoft.com>
2020-04-25 15:46:44 -07:00
Joseph Musser
da94c02257
Move and lint ECMA-335 Augments spec (#35095)
* Move specs and rename Ecma-335-Issues.md

* Fix typos

* MD009/no-trailing-spaces

* MD012/no-multiple-blanks

* MD007/ul-indent

* MD031/blanks-around-fences

* MD032/blanks-around-lists

* MD040/fenced-code-language

* MD030/list-marker-space

* Simplify markdown code span syntax

* Update title and intro

* Fix broken markdown code span

* Link addendum doc from dotnet-standards.md
2020-04-17 08:26:55 -07:00