Skip to content

Commit 45565ce

Browse files
committed
Merge remote-tracking branch 'origin/main' into wbt-win-rc2
2 parents 8518a2d + e7600e0 commit 45565ce

File tree

815 files changed

+5816
-15967
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

815 files changed

+5816
-15967
lines changed

.config/dotnet-tools.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
]
1616
},
1717
"microsoft.dotnet.xharness.cli": {
18-
"version": "1.0.0-prerelease.21558.2",
18+
"version": "1.0.0-prerelease.21561.1",
1919
"commands": [
2020
"xharness"
2121
]

docs/design/libraries/DllImportGenerator/Compatibility.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,8 @@ Only single-dimensional arrays are supported for source generated marshalling.
7171

7272
In the source-generated marshalling, arrays will be allocated on the stack (instead of through [`AllocCoTaskMem`](https://docs.microsoft.com/dotnet/api/system.runtime.interopservices.marshal.alloccotaskmem)) if they are passed by value or by read-only reference if they contain at most 256 bytes of data. The built-in system does not support this optimization for arrays.
7373

74+
In the built-in system, marshalling a `char` array by value with `CharSet.Unicode` would default to also marshalling data out. In the source-generated marshalling, the `char` array must be marked with the `[Out]` attribute for data to be marshalled out by value.
75+
7476
### `in` keyword
7577

7678
For some types - blittable or Unicode `char` - passed by read-only reference via the [`in` keyword](https://docs.microsoft.com/dotnet/csharp/language-reference/keywords/in-parameter-modifier), the built-in system simply pins the parameter. The generated marshalling code does the same, such that there is no behavioural difference. A consequence of this behaviour is that any modifications made by the invoked function will be reflected in the caller. It is left to the user to avoid the situation in which `in` is used for a parameter that will actually be modified by the invoked function.

eng/SourceBuild.props

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,6 @@
2323
<LogVerbosity Condition="'$(LogVerbosity)' == ''">minimal</LogVerbosity>
2424
</PropertyGroup>
2525

26-
<ItemGroup>
27-
<!-- Work around issue where local clone may cause failure using non-origin remote fallback: https://github.com/dotnet/sourcelink/issues/629 -->
28-
<InnerBuildEnv Include="EnableSourceControlManagerQueries=false" />
29-
<InnerBuildEnv Include="EnableSourceLink=false" />
30-
<InnerBuildEnv Include="DisableSourceLink=true" />
31-
<InnerBuildEnv Include="DeterministicSourcePaths=false" />
32-
</ItemGroup>
33-
3426
<Target Name="GetRuntimeSourceBuildCommandConfiguration"
3527
BeforeTargets="GetSourceBuildCommandConfiguration">
3628
<PropertyGroup>

eng/Version.Details.xml

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@
88
<Uri>https://github.com/dotnet/msquic</Uri>
99
<Sha>a7213b4676c1803bb251771291a525482d42e511</Sha>
1010
</Dependency>
11-
<Dependency Name="Microsoft.NET.Workload.Emscripten.Manifest-7.0.100" Version="7.0.0-alpha.1.21558.1">
11+
<Dependency Name="Microsoft.NET.Workload.Emscripten.Manifest-7.0.100" Version="7.0.0-alpha.1.21560.2">
1212
<Uri>https://github.com/dotnet/emsdk</Uri>
13-
<Sha>dc2e6e52d5b1be78da00ef57eed69461badcc720</Sha>
13+
<Sha>24412d4288fda1d3c9fed49a7961bb4c476c0ce6</Sha>
1414
</Dependency>
1515
<Dependency Name="System.ServiceModel.Primitives" Version="4.9.0-rc2.21473.1">
1616
<Uri>https://github.com/dotnet/wcf</Uri>
@@ -202,33 +202,33 @@
202202
<Uri>https://github.com/dotnet/linker</Uri>
203203
<Sha>a5f8466cb452f50436544572e38ff5faa17e2094</Sha>
204204
</Dependency>
205-
<Dependency Name="Microsoft.DotNet.XHarness.TestRunners.Xunit" Version="1.0.0-prerelease.21558.2">
205+
<Dependency Name="Microsoft.DotNet.XHarness.TestRunners.Xunit" Version="1.0.0-prerelease.21561.1">
206206
<Uri>https://github.com/dotnet/xharness</Uri>
207-
<Sha>6a2e0d8e1ed28e1209a887c77c951337ee9e9160</Sha>
207+
<Sha>42da0d206c22393c081abc4b6a48a181e17bb372</Sha>
208208
</Dependency>
209-
<Dependency Name="Microsoft.DotNet.XHarness.CLI" Version="1.0.0-prerelease.21558.2">
209+
<Dependency Name="Microsoft.DotNet.XHarness.CLI" Version="1.0.0-prerelease.21561.1">
210210
<Uri>https://github.com/dotnet/xharness</Uri>
211-
<Sha>6a2e0d8e1ed28e1209a887c77c951337ee9e9160</Sha>
211+
<Sha>42da0d206c22393c081abc4b6a48a181e17bb372</Sha>
212212
</Dependency>
213213
<Dependency Name="Microsoft.DotNet.PackageTesting" Version="7.0.0-beta.21559.3">
214214
<Uri>https://github.com/dotnet/arcade</Uri>
215215
<Sha>fecf65bedcee9036b8ba9d8d7feef5413f294914</Sha>
216216
</Dependency>
217-
<Dependency Name="optimization.windows_nt-x64.MIBC.Runtime" Version="1.0.0-prerelease.21556.2">
217+
<Dependency Name="optimization.windows_nt-x64.MIBC.Runtime" Version="1.0.0-prerelease.21560.1">
218218
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-optimization</Uri>
219-
<Sha>93aae682a468b3c7858d497da5cf79d8ac8eecdc</Sha>
219+
<Sha>764df260bfcc87cdee8edd41bbbaadfffdedab1f</Sha>
220220
</Dependency>
221-
<Dependency Name="optimization.windows_nt-x86.MIBC.Runtime" Version="1.0.0-prerelease.21556.2">
221+
<Dependency Name="optimization.windows_nt-x86.MIBC.Runtime" Version="1.0.0-prerelease.21560.1">
222222
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-optimization</Uri>
223-
<Sha>93aae682a468b3c7858d497da5cf79d8ac8eecdc</Sha>
223+
<Sha>764df260bfcc87cdee8edd41bbbaadfffdedab1f</Sha>
224224
</Dependency>
225-
<Dependency Name="optimization.linux-x64.MIBC.Runtime" Version="1.0.0-prerelease.21556.2">
225+
<Dependency Name="optimization.linux-x64.MIBC.Runtime" Version="1.0.0-prerelease.21560.1">
226226
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-optimization</Uri>
227-
<Sha>93aae682a468b3c7858d497da5cf79d8ac8eecdc</Sha>
227+
<Sha>764df260bfcc87cdee8edd41bbbaadfffdedab1f</Sha>
228228
</Dependency>
229-
<Dependency Name="optimization.PGO.CoreCLR" Version="1.0.0-prerelease.21556.2">
229+
<Dependency Name="optimization.PGO.CoreCLR" Version="1.0.0-prerelease.21560.1">
230230
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-optimization</Uri>
231-
<Sha>93aae682a468b3c7858d497da5cf79d8ac8eecdc</Sha>
231+
<Sha>764df260bfcc87cdee8edd41bbbaadfffdedab1f</Sha>
232232
</Dependency>
233233
<Dependency Name="Microsoft.DotNet.HotReload.Utils.Generator.BuildTool" Version="1.0.2-alpha.0.21558.2">
234234
<Uri>https://github.com/dotnet/hotreload-utils</Uri>

eng/Versions.props

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -133,10 +133,10 @@
133133
<SystemWindowsExtensionsTestDataVersion>7.0.0-beta.21552.1</SystemWindowsExtensionsTestDataVersion>
134134
<MicrosoftDotNetCilStripSourcesVersion>7.0.0-beta.21552.1</MicrosoftDotNetCilStripSourcesVersion>
135135
<!-- dotnet-optimization dependencies -->
136-
<optimizationwindows_ntx64MIBCRuntimeVersion>1.0.0-prerelease.21556.2</optimizationwindows_ntx64MIBCRuntimeVersion>
137-
<optimizationwindows_ntx86MIBCRuntimeVersion>1.0.0-prerelease.21556.2</optimizationwindows_ntx86MIBCRuntimeVersion>
138-
<optimizationlinuxx64MIBCRuntimeVersion>1.0.0-prerelease.21556.2</optimizationlinuxx64MIBCRuntimeVersion>
139-
<optimizationPGOCoreCLRVersion>1.0.0-prerelease.21556.2</optimizationPGOCoreCLRVersion>
136+
<optimizationwindows_ntx64MIBCRuntimeVersion>1.0.0-prerelease.21560.1</optimizationwindows_ntx64MIBCRuntimeVersion>
137+
<optimizationwindows_ntx86MIBCRuntimeVersion>1.0.0-prerelease.21560.1</optimizationwindows_ntx86MIBCRuntimeVersion>
138+
<optimizationlinuxx64MIBCRuntimeVersion>1.0.0-prerelease.21560.1</optimizationlinuxx64MIBCRuntimeVersion>
139+
<optimizationPGOCoreCLRVersion>1.0.0-prerelease.21560.1</optimizationPGOCoreCLRVersion>
140140
<!-- Not auto-updated. -->
141141
<MicrosoftDiaSymReaderNativeVersion>16.9.0-beta1.21055.5</MicrosoftDiaSymReaderNativeVersion>
142142
<SystemCommandLineVersion>2.0.0-beta1.20253.1</SystemCommandLineVersion>
@@ -154,8 +154,8 @@
154154
<!-- Testing -->
155155
<MicrosoftNETCoreCoreDisToolsVersion>1.0.1-prerelease-00006</MicrosoftNETCoreCoreDisToolsVersion>
156156
<MicrosoftNETTestSdkVersion>16.9.0-preview-20201201-01</MicrosoftNETTestSdkVersion>
157-
<MicrosoftDotNetXHarnessTestRunnersXunitVersion>1.0.0-prerelease.21558.2</MicrosoftDotNetXHarnessTestRunnersXunitVersion>
158-
<MicrosoftDotNetXHarnessCLIVersion>1.0.0-prerelease.21558.2</MicrosoftDotNetXHarnessCLIVersion>
157+
<MicrosoftDotNetXHarnessTestRunnersXunitVersion>1.0.0-prerelease.21561.1</MicrosoftDotNetXHarnessTestRunnersXunitVersion>
158+
<MicrosoftDotNetXHarnessCLIVersion>1.0.0-prerelease.21561.1</MicrosoftDotNetXHarnessCLIVersion>
159159
<MicrosoftDotNetHotReloadUtilsGeneratorBuildToolVersion>1.0.2-alpha.0.21558.2</MicrosoftDotNetHotReloadUtilsGeneratorBuildToolVersion>
160160
<XUnitVersion>2.4.2-pre.9</XUnitVersion>
161161
<XUnitRunnerVisualStudioVersion>2.4.2</XUnitRunnerVisualStudioVersion>
@@ -185,7 +185,7 @@
185185
<runtimeosx1012x64MicrosoftNETCoreRuntimeMonoLLVMSdkVersion>11.1.0-alpha.1.21558.1</runtimeosx1012x64MicrosoftNETCoreRuntimeMonoLLVMSdkVersion>
186186
<runtimeosx1012x64MicrosoftNETCoreRuntimeMonoLLVMToolsVersion>11.1.0-alpha.1.21558.1</runtimeosx1012x64MicrosoftNETCoreRuntimeMonoLLVMToolsVersion>
187187
<!-- emscripten / Node -->
188-
<MicrosoftNETWorkloadEmscriptenManifest70100Version>7.0.0-alpha.1.21558.1</MicrosoftNETWorkloadEmscriptenManifest70100Version>
188+
<MicrosoftNETWorkloadEmscriptenManifest70100Version>7.0.0-alpha.1.21560.2</MicrosoftNETWorkloadEmscriptenManifest70100Version>
189189
<MicrosoftNETRuntimeEmscriptenVersion>$(MicrosoftNETWorkloadEmscriptenManifest70100Version)</MicrosoftNETRuntimeEmscriptenVersion>
190190
<!-- workloads -->
191191
<SwixPackageVersion>1.1.87-gba258badda</SwixPackageVersion>

eng/generators.targets

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
<PropertyGroup>
44
<EnableDllImportGenerator Condition="'$(EnableDllImportGenerator)' == ''
55
and '$(MSBuildProjectName)' == 'System.Private.CoreLib'">true</EnableDllImportGenerator>
6-
<SetDllImportGeneratorConstants>false</SetDllImportGeneratorConstants>
76
<IncludeDllImportGeneratorSources Condition="'$(IncludeDllImportGeneratorSources)' == ''">true</IncludeDllImportGeneratorSources>
87
</PropertyGroup>
98
<ItemGroup>
@@ -32,7 +31,7 @@
3231
and '$(IsFrameworkSupportFacade)' != 'true'
3332
and '$(IsSourceProject)' == 'true'
3433
and '$(MSBuildProjectExtension)' == '.csproj'
35-
and '$(TargetFrameworkIdentifier)' == '.NETStandard'" />
34+
and ('$(TargetFrameworkIdentifier)' == '.NETStandard' or '$(TargetFrameworkIdentifier)' == '.NETFramework')" />
3635
</ItemGroup>
3736

3837
<!-- Use this complex ItemGroup-based filtering to add the ProjectReference to make sure dotnet/runtime stays compatible with NuGet Static Graph Restore. -->

eng/pipelines/coreclr/superpmi-asmdiffs.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,18 @@
1+
# This pipeline only runs on GitHub PRs, not on merges.
2+
trigger: none
3+
4+
# Only run on changes to the JIT directory. Don't run if the JIT-EE GUID has changed,
5+
# since there won't be any SuperPMI collections with the new GUID until the collection
6+
# pipeline completes after this PR is merged.
17
pr:
28
branches:
39
include:
410
- main
511
paths:
612
include:
713
- src/coreclr/jit/*
14+
exclude:
15+
- src/coreclr/inc/jiteeversionguid.h
816

917
jobs:
1018

eng/pipelines/coreclr/superpmi-replay.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
# Only run on changes to the JIT directory. Don't run if the JIT-EE GUID has changed,
2+
# since there won't be any SuperPMI collections with the new GUID until the collection
3+
# pipeline completes.
14
trigger:
25
batch: false
36
branches:
@@ -6,6 +9,7 @@ trigger:
69
paths:
710
include:
811
- src/coreclr/jit/*
12+
exclude:
913
- src/coreclr/inc/jiteeversionguid.h
1014

1115
jobs:

src/coreclr/System.Private.CoreLib/src/System/Reflection/RuntimeConstructorInfo.CoreCLR.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -212,17 +212,17 @@ private void InvokeClassConstructor()
212212
}
213213

214214
[MethodImpl(MethodImplOptions.AggressiveInlining)]
215-
private object? InvokeWorker(object? obj, BindingFlags invokeAttr, in Span<object?> arguments)
215+
private object? InvokeWorker(object? obj, BindingFlags invokeAttr, Span<object?> arguments)
216216
{
217217
bool wrapExceptions = (invokeAttr & BindingFlags.DoNotWrapExceptions) == 0;
218-
return RuntimeMethodHandle.InvokeMethod(obj, arguments, Signature, false, wrapExceptions);
218+
return RuntimeMethodHandle.InvokeMethod(obj, in arguments, Signature, false, wrapExceptions);
219219
}
220220

221221
[MethodImpl(MethodImplOptions.AggressiveInlining)]
222-
private object InvokeCtorWorker(BindingFlags invokeAttr, in Span<object?> arguments)
222+
private object InvokeCtorWorker(BindingFlags invokeAttr, Span<object?> arguments)
223223
{
224224
bool wrapExceptions = (invokeAttr & BindingFlags.DoNotWrapExceptions) == 0;
225-
return RuntimeMethodHandle.InvokeMethod(null, arguments, Signature, true, wrapExceptions)!;
225+
return RuntimeMethodHandle.InvokeMethod(null, in arguments, Signature, true, wrapExceptions)!;
226226
}
227227

228228
[RequiresUnreferencedCode("Trimming may change method bodies. For example it can change some instructions, remove branches or local variables.")]

src/coreclr/System.Private.CoreLib/src/System/Reflection/RuntimeMethodInfo.CoreCLR.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -316,10 +316,10 @@ public override MethodImplAttributes GetMethodImplementationFlags()
316316

317317
#region Invocation Logic(On MemberBase)
318318
[MethodImpl(MethodImplOptions.AggressiveInlining)]
319-
private object? InvokeWorker(object? obj, BindingFlags invokeAttr, in Span<object?> arguments)
319+
private object? InvokeWorker(object? obj, BindingFlags invokeAttr, Span<object?> arguments)
320320
{
321321
bool wrapExceptions = (invokeAttr & BindingFlags.DoNotWrapExceptions) == 0;
322-
return RuntimeMethodHandle.InvokeMethod(obj, arguments, Signature, false, wrapExceptions);
322+
return RuntimeMethodHandle.InvokeMethod(obj, in arguments, Signature, false, wrapExceptions);
323323
}
324324

325325
[DebuggerStepThroughAttribute]

0 commit comments

Comments
 (0)