Skip to content

Sync with upstream main branch #32

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

Closed
wants to merge 98 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
98 commits
Select commit Hold shift + click to select a range
b42188a
Update issue suppressions (#63248)
MichalStrehovsky Jan 1, 2022
e571c3b
[mono][wasm] Remove unused targets from wasm/Makefile. (#63263)
vargaz Jan 2, 2022
c8f3b36
Fix strings typo (#63269)
danmoseley Jan 3, 2022
699b0ae
Implement DiagnosticName in NativeAOT code (#63271)
MichalStrehovsky Jan 3, 2022
079245b
Use interpolated strings in place of `StringBuilder.AppendFormat` whe…
teo-tsirpanis Jan 3, 2022
fd33b9e
Fix nullability annotations on ProcessModule.FileName/ModuleName (#63…
stephentoub Jan 3, 2022
82fd67a
[main] Update dependencies from dotnet/linker (#63166)
dotnet-maestro[bot] Jan 3, 2022
c7ec82a
[mono][wasm] Allow methods with finally clauses to be AOTed. (#63065)
vargaz Jan 3, 2022
2a11aab
Move things from ILCompiler.TypeSystem to ILCompiler.Compiler (#63280)
MichalStrehovsky Jan 3, 2022
7574e03
[wasm][debugger] Add Browsable Attribute support. (#62045)
ilonatommy Jan 3, 2022
55fecfb
Fix issues in PAL (#62625)
kant2002 Jan 3, 2022
3cde4dc
Last ILCompiler.TypeSystem <-> ILCompiler.TypeSystem.ReadyToRun diff …
MichalStrehovsky Jan 3, 2022
327bb30
add missing PTEST docs (#62122)
saucecontrol Jan 3, 2022
6c50d9f
Mark Go override as SkipLocalsInit if possible (#63277)
stephentoub Jan 3, 2022
d34c0d6
[mono] Don't access MonoClassField:parent directly (#63081)
lambdageek Jan 3, 2022
2d52010
Use pattern matching to reduce some duplication (#63278)
stephentoub Jan 3, 2022
4e92eae
Fix user => use typo in comments (#63288)
stephentoub Jan 3, 2022
046cbf0
Unify threading between crossgen2 and ilc (#63282)
MichalStrehovsky Jan 3, 2022
9472bfe
Use SAL2 _In_, _Out_ to prevent conflicts (#63261)
NN--- Jan 3, 2022
0ef205d
Do not create non-null assertions from location nodes (#62743)
SingleAccretion Jan 3, 2022
a2b288d
transform sgen_get_descriptor to parallel safe version in job_major_m…
monojenkins Jan 3, 2022
f97546b
Fixed ILVerify incorrectly flagging valid default interface implement…
bbartels Jan 3, 2022
623c059
Update COM host to match RegAsm registration behavior (#63292)
AaronRobinsonMSFT Jan 3, 2022
1857c7b
Delete ILCompiler.TypeSystem.ReadyToRun project (#63313)
MichalStrehovsky Jan 4, 2022
a76387e
make sure OpenSSL is initialized before Tls13Supported code runs (#62…
wfurt Jan 4, 2022
f686f65
Robustify a name resolution test (#63259)
danmoseley Jan 4, 2022
3580ba7
Extend CPU capabilities detection for osx-arm64 (#62832) (#62958)
neon-sunset Jan 4, 2022
8359690
Extend case optimization in MatchCharacterClass to all chars that dif…
stephentoub Jan 4, 2022
80f6845
A few minor tweaks to Regex source generator rendering (#63276)
stephentoub Jan 4, 2022
e789b4e
Revert SafeBuffer change around pointer initialization (#63289)
stephentoub Jan 4, 2022
13305d0
Add some diagnostics for EFS tests (#63243)
danmoseley Jan 4, 2022
0e3888a
Fix missing space in literal
stephentoub Jan 4, 2022
56ffec2
Fix GetSpanDataFrom (#63306)
davidwrighton Jan 4, 2022
7172c68
Accelerate additional cross platform hardware intrinsics (#61649)
tannergooding Jan 4, 2022
312c66f
logging (#63326)
danmoseley Jan 4, 2022
ef357af
[DllImportGenerator] Update buffer size field for custom marshalling …
elinor-fung Jan 4, 2022
ae2e360
Divide properties into: public, private, protected. (#62627)
ilonatommy Jan 4, 2022
b2ab353
Fix Instrument.ts_tags to be static in .NET Framework build (#63343)
stephentoub Jan 4, 2022
932c822
Fix order of line number/position arguments to XsltException ctor (#6…
stephentoub Jan 4, 2022
33731fc
Disable console test for jitstressreg mode (#63349)
danmoseley Jan 4, 2022
eed3a62
Enable support for nint/nuint for Vector64/128/256<T> (#63329)
tannergooding Jan 4, 2022
4a1bcc3
Add comment about using source-generated p/invokes to interop guideli…
elinor-fung Jan 4, 2022
4514589
clean up header collection property implementations (#63308)
geoffkizer Jan 4, 2022
00952e1
Pass configuration as a parameter for local Apple mobile test runs (#…
steveisok Jan 4, 2022
8ce1c54
Update Codespaces instructions for latest (#63376)
eerhardt Jan 4, 2022
5b17bec
Fix LazyMemberInfo.Equals to return false for null (#63372)
stephentoub Jan 5, 2022
0524b58
Remove unnecessary field writes in MimePart.SetContent (#63368)
stephentoub Jan 5, 2022
5a9bd5c
Fix null ref for null Stream input in Icon.Save (#63369)
stephentoub Jan 5, 2022
b6695a1
Move HttpRequestStream.{Begin}Read argument logging to after validati…
stephentoub Jan 5, 2022
8b9e708
Implement IEquatable<T> on the runtime handle types. (#63358)
teo-tsirpanis Jan 5, 2022
586918a
Remove dependency of type system tests on ILCompiler.ReadyToRun (#63323)
MichalStrehovsky Jan 5, 2022
cab2fd8
Fix running WASM tests locally on Windows (#63334)
maraf Jan 5, 2022
3058fa4
Replace name with type and codepage in EncodingConversionOverflow exc…
marek-safar Jan 5, 2022
0f03554
[main] Update dependencies from 6 repositories (#63252)
dotnet-maestro[bot] Jan 5, 2022
bd245d6
[main] Update dependencies from dotnet/linker (#63336)
dotnet-maestro[bot] Jan 5, 2022
a8e6f69
Remove dead code in OdbcCommandBuilder.UnquoteIdentifier (#63363)
stephentoub Jan 5, 2022
ad5ccec
Simplify condition in System.Private.CoreLib.Shared.projitems (#63388)
jkotas Jan 5, 2022
60012a1
Remove some unnecessary duplicated checks (#63341)
stephentoub Jan 5, 2022
70065c1
Delete __SkipCrossgenFramework (#63390)
MichalStrehovsky Jan 5, 2022
bd6a64b
Fix MethodDesc::CbStackPop for string ctors on x86 (#63391)
janvorli Jan 5, 2022
311ecfe
Fix the MacOS remote unwinder for VS4Mac (#63378)
Jan 5, 2022
ec5471c
Handle race condition when HttpListener is stopped or closed (#63394)
kevingosse Jan 5, 2022
b28c38d
JIT: refactor fields of GenTreeCall (#63402)
AndyAyersMS Jan 5, 2022
4427c56
Arm64: Memory barrier improvements (#62895)
kunalspathak Jan 5, 2022
abb7df5
Convert SAL1 to SAL2 (#63333)
NN--- Jan 6, 2022
7fc4b6a
[wasm][debugger] GetProperties broken on chrome (#63403)
thaystg Jan 6, 2022
5a0f438
Include properties on records for (de)serialization in source-gen (#6…
layomia Jan 6, 2022
634dfa1
[wasm] Fix test filtering for debugger tests on windows (#63380)
radical Jan 6, 2022
44b9a6e
Make DllImportGenerator unit tests' compilations use live refs (#63410)
elinor-fung Jan 6, 2022
599ab0e
Fix time reporting for the merged tests (#63452)
trylek Jan 6, 2022
0b7bef0
Refactor DllImports in Microsoft.Extensions.Hosting.Systemd (#63421)
MattKotsenas Jan 6, 2022
392b35c
Ensure UserSecretsIdAttribute is added to assembly (#63415)
eerhardt Jan 6, 2022
d988a52
Fix stack overflow with X509Certificate FriendlyName
vcsjones Jan 6, 2022
0e800a6
[mono] Reorganize zlib dependency logic (#63365)
lambdageek Jan 6, 2022
90ec876
Convert JIT/Methodical/Array/range Pri0 tests and hook up mobile test…
jkoritzinsky Jan 6, 2022
98c5328
Fix bugs with generation for ctor param default values (#62798)
layomia Jan 6, 2022
b0685e1
[DllImportGenerator] Remove DLLIMPORTGENERATOR_ENABLED define (#63464)
elinor-fung Jan 6, 2022
01cc900
[mono] Make some icalls pass/return object references using ObjectHan…
vargaz Jan 6, 2022
5993a3a
[DRAFT][Perf][Mono] Enable llvm for arm perf runs (#63311)
Jan 6, 2022
a0220fd
JIT: save generics context for late devirtualization (#63420)
AndyAyersMS Jan 6, 2022
ef49cd0
[Revert] Reverted change to global build job (#63483)
Jan 7, 2022
afffdc6
Support for specifying max depth of generic cycle (#63435)
hez2010 Jan 7, 2022
b1edcf1
Use "read" to fetch misaligned 64bit values from bundle header (#63431)
VSadov Jan 7, 2022
a71f261
Bump Microsoft.CodeAnalysis.CSharp version to 4.0.1 (#63492)
stephentoub Jan 7, 2022
91843fb
Suppress warnings about [Obsolete] member usage in JSON src-gen'd cod…
layomia Jan 7, 2022
3eccec0
Sign ILVerification.dll (#63471)
jcouv Jan 7, 2022
c49c65d
[LoongArch64] Port libraries directory (#62888)
shushanhf Jan 7, 2022
e210a60
Fix Creating Cultures with Sort Names (#63386)
tarekgh Jan 7, 2022
e0287b7
Make delegates unsupported by JsonSerializer (#63495)
layomia Jan 7, 2022
568364a
Update coverlet to 3.1.0 and reportgenerator to 5.0.2 (#63491)
stephentoub Jan 7, 2022
83c9761
Clarify P/Invoke shims guidance for OOB assemblies (#63470)
MattKotsenas Jan 7, 2022
03c5dbc
Move init-vs-env in test build script down (#63433)
MichalStrehovsky Jan 7, 2022
b4dfd7d
HttpConnectionPool improvements (#62935)
geoffkizer Jan 7, 2022
0b91bea
Fix NETStandard library using JSON source gen (#63472)
ericstj Jan 7, 2022
251eba3
Show test names in merged wrapper execution log (#63511)
trylek Jan 7, 2022
897694f
Fix exception propagation over HW exception frame on macOS arm64 (#63…
janvorli Jan 8, 2022
73a34ce
Fix translation of Ping error codes (#63237)
deeprobin Jan 8, 2022
b294d60
Merge with main from upstream
Jan 8, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 3 additions & 3 deletions .config/dotnet-tools.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,19 @@
"isRoot": true,
"tools": {
"coverlet.console": {
"version": "1.7.2",
"version": "3.1.0",
"commands": [
"coverlet"
]
},
"dotnet-reportgenerator-globaltool": {
"version": "4.5.8",
"version": "5.0.2",
"commands": [
"reportgenerator"
]
},
"microsoft.dotnet.xharness.cli": {
"version": "1.0.0-prerelease.21622.1",
"version": "1.0.0-prerelease.22053.2",
"commands": [
"xharness"
]
Expand Down
8 changes: 8 additions & 0 deletions docs/coding-guidelines/interop-guidelines.md
Original file line number Diff line number Diff line change
Expand Up @@ -166,6 +166,12 @@ Using enums instead of partial, static classes can lead to needing lots of casts

When defining the P/Invoke signatures and structs, we follow the guidelines in the [interop best practices documentation](https://docs.microsoft.com/en-us/dotnet/standard/native-interop/best-practices).

The runtime repo makes use of [source-generated p/invokes](../design/features/source-generator-pinvokes.md) whenever possible (see [the compatibility doc](../design/libraries/DllImportGenerator/Compatibility.md) for unsupported scenarios). Methods should be marked `GeneratedDllImport` and be `static` and `partial`.

If implicit framework references are disabled (as is the case for most libraries projects), explicit references to the below are required for marshalling arrays:
- `System.Memory`
- `System.Runtime.CompilerServices.Unsafe`

## UNIX shims

Often, various UNIX flavors offer the same API from the point-of-view of compatibility with C/C++ source code, but they do not have the same ABI. e.g. Fields can be laid out differently, constants can have different numeric values, exports can be named differently, etc. There are not only differences between operating systems (Mac OS X vs. Ubuntu vs. FreeBSD), but also differences related to the underlying processor architecture (x64 vs. x86 vs. ARM).
Expand All @@ -174,6 +180,8 @@ This leaves us with a situation where we can't write portable P/Invoke declarati

To address this, we're moving to a model where all UNIX interop from dotnet/runtime starts with a P/Invoke to a C++ lib written specifically for dotnet/runtime. These libs -- System.*.Native.so (aka "shims") -- are intended to be very thin layers over underlying platform libraries. Generally, they are not there to add any significant abstraction, but to create a stable ABI such that the same IL assembly can work across UNIX flavors.

The System.Native shims are a private implementation detail of the Microsoft.NETCore.App shared framework and are intended only for use by code inside of the shared framework. Calling into the shims from external to Microsoft.NETCore.App has similar risks to using private reflection, with no guarantees from version to version or even patch to patch of stable exports. Assemblies that ship outside of the shared framework (e.g. Microsoft.Extensions.*) must not directly access the shims.

Guidelines for shim C++ API:

- Keep them as "thin"/1:1 as possible.
Expand Down
9 changes: 8 additions & 1 deletion docs/design/mono/debugger.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,11 @@ Web Assembly Debugger supports usage of following attributes:
- Stepping In/Over: results in an additional stepping need to proceed to the next line.<br><br>
- __System.Diagnostics.DebuggerDisplay__
- __System.Diagnostics.DebuggerTypeProxy__
- ...
- __System.Diagnostics.DebuggerBrowsable__ ([doc](https://docs.microsoft.com/en-us/dotnet/api/system.diagnostics.debuggerbrowsableattribute?view=net-6.0))
- Collapsed - displayed normally.
- RootHidden:
- Simple type - not displayed in the debugger window.
- Collection / Array - the values of a collection are displayed in a flat view, using the naming convention: *rootName[idx]*.

- Never - not displayed in the debugger window.

4 changes: 1 addition & 3 deletions docs/workflow/Codespaces.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,11 @@ Codespaces allows you to develop in a Docker container running in the cloud. You

dotnet/runtime runs a nightly GitHub Action to build the latest code in the repo. This allows you to immediately start developing and testing after creating a codespace without having to build the whole repo. When the machine is created, it will have built the repo using the code as of 6 AM UTC that morning.

**NOTE**: In order to use a prebuilt codespace, when you create your machine be sure to select an **`8 core`** machine.

1. From https://github.com/dotnet/runtime, drop-down the `Code` button and select the `Codespaces` tab.

![New codespace button](https://docs.github.com/assets/images/help/codespaces/new-codespace-button.png)

2. Select `8-core` for the Machine type. This will ensure you get a "pre built" image.
2. Select the Machine type. For dotnet/runtime, it is recommended to select at least a `4-core` machine. You can also verify that a "Prebuild" is ready.

![Codespace machine size](./codespace-machine-size.png)

Expand Down
Binary file modified docs/workflow/codespace-machine-size.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion docs/workflow/debugging/coreclr/debugging-aot-compilers.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ Built in debugging aids in the managed compilers
---------------------------------

- When debugging a multi-threaded component of the compiler and not investigating a multi-threading issue itself, it is generally advisable to disable the use of multiple threads.
To do this use the `--parallelism 1` switch (for crossgen2) or `--singlethreaded` (for ILC) to specify that the maximum parallelism of the process shall be 1.
To do this use the `--parallelism 1` switch to specify that the maximum parallelism of the process shall be 1.

- When debugging the behavior of compiling a single method, the compiler may be instructed to only compile a single method. This is done via the various --singlemethod options

Expand Down
2 changes: 1 addition & 1 deletion eng/Subsets.props
Original file line number Diff line number Diff line change
Expand Up @@ -243,7 +243,7 @@
<ProjectToBuild Include="$(CoreClrProjectRoot)nativeaot\BuildIntegration\BuildIntegration.proj" Category="clr" Condition="'$(NativeAotSupported)' == 'true'" />

<ProjectToBuild Condition="'$(TargetArchitecture)' != 'x64' and '$(BuildArchitecture)' == 'x64'" Include="$(CoreClrProjectRoot)tools\aot\crossgen2\crossgen2_crossarch.csproj" Category="clr" />
<ProjectToBuild Include="$(CoreClrProjectRoot)tools\aot\ILCompiler.TypeSystem.ReadyToRun.Tests\ILCompiler.TypeSystem.ReadyToRun.Tests.csproj"
<ProjectToBuild Include="$(CoreClrProjectRoot)tools\aot\ILCompiler.TypeSystem.Tests\ILCompiler.TypeSystem.Tests.csproj"
Test="true" Category="clr" Condition="'$(DotNetBuildFromSource)' != 'true'"/>
<ProjectToBuild Include="$(CoreClrProjectRoot)tools\aot\ILCompiler.Compiler.Tests\ILCompiler.Compiler.Tests.csproj"
Test="true" Category="clr" Condition="'$(DotNetBuildFromSource)' != 'true' and '$(NativeAotSupported)' == 'true'"/>
Expand Down
Loading