Skip to content

Commit

Permalink
Merge branch 'main' into EnableCrossBlock2
Browse files Browse the repository at this point in the history
  • Loading branch information
AndyAyersMS committed Nov 27, 2023
2 parents f942eda + c1dc3f2 commit fecb706
Show file tree
Hide file tree
Showing 614 changed files with 12,992 additions and 7,009 deletions.
8 changes: 1 addition & 7 deletions .config/dotnet-tools.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
]
},
"microsoft.dotnet.xharness.cli": {
"version": "9.0.0-prerelease.23531.1",
"version": "9.0.0-prerelease.23570.2",
"commands": [
"xharness"
]
Expand All @@ -25,12 +25,6 @@
"commands": [
"slngen"
]
},
"dotnet-format": {
"version": "6.0.240501",
"commands": [
"dotnet-format"
]
}
}
}
1 change: 1 addition & 0 deletions .github/workflows/bump-chrome-version.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ on:

jobs:
update:
if: github.repository == 'dotnet/runtime'
runs-on: ubuntu-latest
steps:
- name: Checkout
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/markdownlint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,11 @@ jobs:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: Use Node.js
uses: actions/setup-node@v1
uses: actions/setup-node@v4
with:
node-version: 16.x
node-version: 20.x
- name: Run Markdownlint
run: |
echo "::add-matcher::.github/workflows/markdownlint-problem-matcher.json"
Expand Down
24 changes: 18 additions & 6 deletions docs/area-owners.json
Original file line number Diff line number Diff line change
Expand Up @@ -780,14 +780,18 @@
{
"lead": "tommcdon",
"owners": [
"tommcdon"
"ericstj",
"tommcdon",
"dotnet/area-system-diagnostics"
],
"label": "area-System.Diagnostics"
},
{
"lead": "tommcdon",
"owners": [
"tommcdon"
"noahfalk",
"tommcdon",
"dotnet/area-system-diagnostics-coreclr"
],
"label": "area-System.Diagnostics-coreclr"
},
Expand All @@ -800,7 +804,7 @@
"label": "area-System.Diagnostics-mono"
},
{
"lead": "tommcdon",
"lead": "ericstj",
"pod": "eirik-krzysztof-tarek",
"owners": [
"eiriktsarpalis",
Expand All @@ -826,9 +830,13 @@
"label": "area-System.Diagnostics.EventLog"
},
{
"lead": "tommcdon",
"lead": "ericstj",
"owners": [
"noahfalk"
"ericstj",
"noahfalk",
"tarekgh",
"tommcdon",
"dotnet/area-system-diagnostics-metric"
],
"label": "area-System.Diagnostics.Metric"
},
Expand Down Expand Up @@ -859,9 +867,13 @@
{
"lead": "tommcdon",
"owners": [
"davmason",
"ericstj",
"jeffhandley",
"noahfalk",
"tarekgh",
"tommcdon"
"tommcdon",
"dotnet/area-system-diagnostics-tracing"
],
"label": "area-System.Diagnostics.Tracing"
},
Expand Down
10 changes: 5 additions & 5 deletions docs/area-owners.md
Original file line number Diff line number Diff line change
Expand Up @@ -80,15 +80,15 @@ Note: Editing this file doesn't update the mapping used by `@msftbot` for area-s
| area-System.Data.OleDB | @ajcvickers | @ajcvickers @roji | |
| area-System.Data.SqlClient | @David-Engel | @davoudeshtehari @david-engel @jrahnama | Archived component - limited churn/contributions (see https://devblogs.microsoft.com/dotnet/introducing-the-new-microsoftdatasqlclient/) |
| area-System.DateTime | @ericstj | @dotnet/area-system-datetime | System namespace APIs related to dates and times, including DateOnly, DateTime, DateTimeKind, DateTimeOffset, DayOfWeek, TimeOnly, TimeSpan, TimeZone, and TimeZoneInfo |
| area-System.Diagnostics | @tommcdon | @tommcdon | |
| area-System.Diagnostics-coreclr | @tommcdon | @tommcdon | |
| area-System.Diagnostics | @tommcdon | @dotnet/area-system-diagnostics | |
| area-System.Diagnostics-coreclr | @tommcdon | @dotnet/area-system-diagnostics-coreclr | |
| area-System.Diagnostics-mono | @lewing | @thaystg @radical | |
| area-System.Diagnostics.Activity | @tommcdon | @dotnet/area-system-diagnostics-activity | |
| area-System.Diagnostics.Activity | @ericstj | @dotnet/area-system-diagnostics-activity | |
| area-System.Diagnostics.EventLog | @ericstj | @dotnet/area-system-diagnostics-eventlog | |
| area-System.Diagnostics.Metric | @tommcdon | @noahfalk | |
| area-System.Diagnostics.Metric | @ericstj | @dotnet/area-system-diagnostics-metric | |
| area-System.Diagnostics.PerformanceCounter | @ericstj | @dotnet/area-system-diagnostics-performancecounter | |
| area-System.Diagnostics.Process | @jeffhandley | @dotnet/area-system-diagnostics-process | |
| area-System.Diagnostics.Tracing | @tommcdon | @noahfalk @tommcdon @tarekgh | Included:<ul><li>System.Diagnostics.DiagnosticSource</li></ul> |
| area-System.Diagnostics.Tracing | @tommcdon | @dotnet/area-system-diagnostics-tracing | Included:<ul><li>System.Diagnostics.DiagnosticSource</li></ul> |
| area-System.Diagnostics.TraceSource | @ericstj | @dotnet/area-system-diagnostics-tracesource | |
| area-System.DirectoryServices | @ericstj | @dotnet/area-system-directoryservices | Consultants: @BRDPM @grubioe @jay98014 |
| area-System.Drawing | @ericstj | @dotnet/area-system-drawing | Excluded:<ul><li>System.Drawing.Common -> winforms</li></ul> |
Expand Down
2 changes: 1 addition & 1 deletion docs/coding-guidelines/code-formatting-tools.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ To help enable an easy workflow and reduce the number of formatting changes requ

### C#/VB

C# and VB code in the repository use the built-in Roslyn support for EditorConfig to enable auto-formatting in many IDEs. As a result, no additional tools are required to enable keeping your code formatted. If you want to use `dotnet format` to do formatting or are using the git pre-commit hook mentioned later in this document, you can run `./dotnet.cmd tool restore` or `./dotnet.sh tool restore` from the root of the repository to enable the `dotnet format` command.
C# and VB code in the repository use the built-in Roslyn support for EditorConfig to enable auto-formatting in many IDEs. As a result, no additional tools are required to enable keeping your code formatted. You can also use the `dotnet format` command from the dotnet SDK to do formatting or use the git pre-commit hook mentioned later in this document.

### C/C++

Expand Down
4 changes: 4 additions & 0 deletions docs/design/coreclr/botr/clr-abi.md
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,10 @@ ARM64-only: When a method returns a structure that is larger than 16 bytes the c

*Normal PInvoke* - The VM shares IL stubs based on signatures, but wants the right method to show up in call stack and exceptions, so the MethodDesc for the exact PInvoke is passed in the (x86) `EAX` / (AMD64) `R10` / (ARM, ARM64) `R12` (in the JIT: `REG_SECRET_STUB_PARAM`). Then in the IL stub, when the JIT gets `CORJIT_FLG_PUBLISH_SECRET_PARAM`, it must move the register into a compiler temp. The value is returned for the intrinsic `NI_System_StubHelpers_GetStubContext`.

## Small primitive returns

Primitive value types smaller than 32-bits are widened to 32-bits: signed small types are sign extended and unsigned small types are zero extended. This can be different from the standard calling conventions that may leave the state of unused bits in the return register undefined.

# PInvokes

The convention is that any method with an InlinedCallFrame (either an IL stub or a normal method with an inlined PInvoke) saves/restores all non-volatile integer registers in its prolog/epilog respectively. This is done so that the InlinedCallFrame can just contain a return address, a stack pointer and a frame pointer. Then using just those three it can start a full stack walk using the normal RtlVirtualUnwind.
Expand Down
2 changes: 1 addition & 1 deletion docs/design/features/localization-options.md
Original file line number Diff line number Diff line change
Expand Up @@ -158,7 +158,7 @@ Standard methods for native localization use the user's locale. However, managed

All localizable resources need to be in the XLIFF file format (.xlf). New tooling will be required to convert from an untranslated base format to language-specific .xlf files and from the language-specific .xlf files to a format (.rc/.po/.strings, UTF-8/UTF-16) that will be compiled into resource libraries (or deployed directly) for each platform.

The existing [xliff-tasks](https://github.com/dotnet/xliff-tasks) tooling supports conversion between managed resource files (.resx) and .xlf files and building satellite resource libraries. It is all MSBuild-based and has no concept of native resources or build processes. Extending it in a way that works naturally with CMake builds across platforms would be non-trivial.
The existing [xliff-tasks](https://github.com/dotnet/arcade/blob/main/src/Microsoft.DotNet.XliffTasks/README.md) tooling supports conversion between managed resource files (.resx) and .xlf files and building satellite resource libraries. It is all MSBuild-based and has no concept of native resources or build processes. Extending it in a way that works naturally with CMake builds across platforms would be non-trivial.

It is also an option to create tooling directly integrated in the dotnet/runtime repo itself. This would not be a generic and reusable component outside of the dotnet/runtime repo and its build system.

Expand Down
2 changes: 1 addition & 1 deletion docs/project/list-of-diagnostics.md
Original file line number Diff line number Diff line change
Expand Up @@ -218,7 +218,7 @@ The diagnostic id values reserved for .NET Libraries analyzer warnings are `SYSL
| __`SYSLIB1099`__ | COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM and will fail at runtime |
| __`SYSLIB1100`__ | Configuration binding generator: type is not supported. |
| __`SYSLIB1101`__ | Configuration binding generator: property on type is not supported. |
| __`SYSLIB1102`__ | Configuration binding generator: project's language version must be at least C# 11.|
| __`SYSLIB1102`__ | Configuration binding generator: project's language version must be at least C# 12.|
| __`SYSLIB1103`__ | Configuration binding generator: value types are invalid inputs to configuration 'Bind' methods.* |
| __`SYSLIB1104`__ | Configuration binding generator: Generator cannot determine the target configuration type.* |
| __`SYSLIB1105`__ | *_`SYSLIB1100`-`SYSLIB1118` reserved for Microsoft.Extensions.Configuration.Binder.SourceGeneration.* |
Expand Down
6 changes: 4 additions & 2 deletions docs/workflow/requirements/windows-requirements.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,15 +30,17 @@ git config --system core.longpaths true

### Visual Studio

Install [Visual Studio 2022](https://visualstudio.microsoft.com/downloads/). The Community edition is available free of charge. Visual Studio 2022 17.3 or later is required. Note that Visual Studio and the development tools described below are required, regardless of whether you plan to use the IDE or not. The installation process goes as follows:
Install [Visual Studio 2022](https://visualstudio.microsoft.com/downloads/). The Community edition is available free of charge. Visual Studio 2022 17.8 or later is required. Note that as we ramp up on a given release the libraries code may start using preview language features. While an older IDE may still succeed in building the projects, the IDE may report mismatched diagnostics in the Errors and Warnings window. Using the latest public preview of Visual Studio is required to ensure the IDE experience is well behaved in such scenarios.

Note that Visual Studio and the development tools described below are required, regardless of whether you plan to use the IDE or not. The installation process goes as follows:

* It's recommended to use **Workloads** installation approach. The following are the minimum requirements:
* **.NET Desktop Development** with all default components,
* **Desktop Development with C++** with all default components.
* To build for Arm64, make sure that you have the right architecture-specific compilers installed. In the **Individual components** window, in the **Compilers, build tools, and runtimes** section:
* For Arm64, check the box for _MSVC v143* VS 2022 C++ ARM64 build tools (Latest)_.
* To build the tests, you will need some additional components:
* **C++/CLI support for v142 build tools (Latest)**.
* **C++/CLI support for v143 build tools (Latest)**.

A `.vsconfig` file is included in the root of the _dotnet/runtime_ repository that includes all components needed to build the _dotnet/runtime_ repository. You can [import `.vsconfig` in your Visual Studio installer](https://docs.microsoft.com/visualstudio/install/import-export-installation-configurations?view=vs-2022#import-a-configuration) to install all necessary components.

Expand Down
Loading

0 comments on commit fecb706

Please sign in to comment.