Skip to content

Commit 15af865

Browse files
authored
Merge pull request #116459 from jozkee/release/9.0-staging
[manual] Merge release/9.0-staging into release/9.0
2 parents ef9c60c + 0ddb6b0 commit 15af865

File tree

45 files changed

+1704
-231
lines changed

Some content is hidden

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

45 files changed

+1704
-231
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": "9.0.0-prerelease.25228.2",
18+
"version": "9.0.0-prerelease.25269.3",
1919
"commands": [
2020
"xharness"
2121
]

NuGet.config

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
<!-- End: Package sources from dotnet-emsdk -->
1414
<!-- Begin: Package sources from dotnet-sdk -->
1515

16-
<add key="darc-pub-dotnet-sdk-b562a30" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-dotnet-sdk-b562a300/nuget/v3/index.json" />
16+
<add key="darc-pub-dotnet-sdk-38e51fe" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-dotnet-sdk-38e51fe4/nuget/v3/index.json" />
1717
<!-- End: Package sources from dotnet-sdk -->
1818
<!--End: Package sources managed by Dependency Flow automation. Do not edit the sources above.-->
1919
<!--

eng/Version.Details.xml

Lines changed: 89 additions & 89 deletions
Large diffs are not rendered by default.

eng/Versions.props

Lines changed: 39 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,9 @@
4444
Any tools that contribute to the design-time experience should use the MicrosoftCodeAnalysisVersion_LatestVS property above to ensure
4545
they do not break the local dev experience.
4646
-->
47-
<MicrosoftCodeAnalysisCSharpVersion>4.12.0-3.25256.6</MicrosoftCodeAnalysisCSharpVersion>
48-
<MicrosoftCodeAnalysisVersion>4.12.0-3.25256.6</MicrosoftCodeAnalysisVersion>
49-
<MicrosoftNetCompilersToolsetVersion>4.12.0-3.25256.6</MicrosoftNetCompilersToolsetVersion>
47+
<MicrosoftCodeAnalysisCSharpVersion>4.12.0-3.25275.3</MicrosoftCodeAnalysisCSharpVersion>
48+
<MicrosoftCodeAnalysisVersion>4.12.0-3.25275.3</MicrosoftCodeAnalysisVersion>
49+
<MicrosoftNetCompilersToolsetVersion>4.12.0-3.25275.3</MicrosoftNetCompilersToolsetVersion>
5050
</PropertyGroup>
5151
<!--
5252
For source generator support we need to target multiple versions of Roslyn in order to be able to run on older versions of Roslyn.
@@ -85,22 +85,22 @@
8585
<!-- SDK dependencies (also used in wasm build tests -->
8686
<MicrosoftDotNetApiCompatTaskVersion>9.0.107</MicrosoftDotNetApiCompatTaskVersion>
8787
<!-- Arcade dependencies -->
88-
<MicrosoftDotNetBuildTasksFeedVersion>9.0.0-beta.25255.5</MicrosoftDotNetBuildTasksFeedVersion>
89-
<MicrosoftDotNetCodeAnalysisVersion>9.0.0-beta.25255.5</MicrosoftDotNetCodeAnalysisVersion>
90-
<MicrosoftDotNetGenAPIVersion>9.0.0-beta.25255.5</MicrosoftDotNetGenAPIVersion>
91-
<MicrosoftDotNetGenFacadesVersion>9.0.0-beta.25255.5</MicrosoftDotNetGenFacadesVersion>
92-
<MicrosoftDotNetXUnitAssertVersion>2.9.0-beta.25255.5</MicrosoftDotNetXUnitAssertVersion>
93-
<MicrosoftDotNetXUnitExtensionsVersion>9.0.0-beta.25255.5</MicrosoftDotNetXUnitExtensionsVersion>
94-
<MicrosoftDotNetXUnitConsoleRunnerVersion>2.9.0-beta.25255.5</MicrosoftDotNetXUnitConsoleRunnerVersion>
95-
<MicrosoftDotNetBuildTasksArchivesVersion>9.0.0-beta.25255.5</MicrosoftDotNetBuildTasksArchivesVersion>
96-
<MicrosoftDotNetBuildTasksInstallersVersion>9.0.0-beta.25255.5</MicrosoftDotNetBuildTasksInstallersVersion>
97-
<MicrosoftDotNetBuildTasksPackagingVersion>9.0.0-beta.25255.5</MicrosoftDotNetBuildTasksPackagingVersion>
98-
<MicrosoftDotNetBuildTasksTargetFrameworkVersion>9.0.0-beta.25255.5</MicrosoftDotNetBuildTasksTargetFrameworkVersion>
99-
<MicrosoftDotNetBuildTasksTemplatingVersion>9.0.0-beta.25255.5</MicrosoftDotNetBuildTasksTemplatingVersion>
100-
<MicrosoftDotNetBuildTasksWorkloadsPackageVersion>9.0.0-beta.25255.5</MicrosoftDotNetBuildTasksWorkloadsPackageVersion>
101-
<MicrosoftDotNetRemoteExecutorVersion>9.0.0-beta.25255.5</MicrosoftDotNetRemoteExecutorVersion>
102-
<MicrosoftDotNetVersionToolsTasksVersion>9.0.0-beta.25255.5</MicrosoftDotNetVersionToolsTasksVersion>
103-
<MicrosoftDotNetPackageTestingVersion>9.0.0-beta.25255.5</MicrosoftDotNetPackageTestingVersion>
88+
<MicrosoftDotNetBuildTasksFeedVersion>9.0.0-beta.25302.2</MicrosoftDotNetBuildTasksFeedVersion>
89+
<MicrosoftDotNetCodeAnalysisVersion>9.0.0-beta.25302.2</MicrosoftDotNetCodeAnalysisVersion>
90+
<MicrosoftDotNetGenAPIVersion>9.0.0-beta.25302.2</MicrosoftDotNetGenAPIVersion>
91+
<MicrosoftDotNetGenFacadesVersion>9.0.0-beta.25302.2</MicrosoftDotNetGenFacadesVersion>
92+
<MicrosoftDotNetXUnitAssertVersion>2.9.0-beta.25302.2</MicrosoftDotNetXUnitAssertVersion>
93+
<MicrosoftDotNetXUnitExtensionsVersion>9.0.0-beta.25302.2</MicrosoftDotNetXUnitExtensionsVersion>
94+
<MicrosoftDotNetXUnitConsoleRunnerVersion>2.9.0-beta.25302.2</MicrosoftDotNetXUnitConsoleRunnerVersion>
95+
<MicrosoftDotNetBuildTasksArchivesVersion>9.0.0-beta.25302.2</MicrosoftDotNetBuildTasksArchivesVersion>
96+
<MicrosoftDotNetBuildTasksInstallersVersion>9.0.0-beta.25302.2</MicrosoftDotNetBuildTasksInstallersVersion>
97+
<MicrosoftDotNetBuildTasksPackagingVersion>9.0.0-beta.25302.2</MicrosoftDotNetBuildTasksPackagingVersion>
98+
<MicrosoftDotNetBuildTasksTargetFrameworkVersion>9.0.0-beta.25302.2</MicrosoftDotNetBuildTasksTargetFrameworkVersion>
99+
<MicrosoftDotNetBuildTasksTemplatingVersion>9.0.0-beta.25302.2</MicrosoftDotNetBuildTasksTemplatingVersion>
100+
<MicrosoftDotNetBuildTasksWorkloadsPackageVersion>9.0.0-beta.25302.2</MicrosoftDotNetBuildTasksWorkloadsPackageVersion>
101+
<MicrosoftDotNetRemoteExecutorVersion>9.0.0-beta.25302.2</MicrosoftDotNetRemoteExecutorVersion>
102+
<MicrosoftDotNetVersionToolsTasksVersion>9.0.0-beta.25302.2</MicrosoftDotNetVersionToolsTasksVersion>
103+
<MicrosoftDotNetPackageTestingVersion>9.0.0-beta.25302.2</MicrosoftDotNetPackageTestingVersion>
104104
<!-- TODO: Remove pinned xunit.analyzers version: https://github.com/dotnet/runtime/issues/97088 -->
105105
<XUnitAnalyzersVersion>1.4.0</XUnitAnalyzersVersion>
106106
<!-- NuGet dependencies -->
@@ -141,20 +141,20 @@
141141
<SystemReflectionMetadataToolsetVersion>8.0.0</SystemReflectionMetadataToolsetVersion>
142142
<SystemReflectionMetadataLoadContextToolsetVersion>8.0.0</SystemReflectionMetadataLoadContextToolsetVersion>
143143
<!-- Runtime-Assets dependencies -->
144-
<SystemRuntimeNumericsTestDataVersion>9.0.0-beta.25211.3</SystemRuntimeNumericsTestDataVersion>
145-
<SystemComponentModelTypeConverterTestDataVersion>9.0.0-beta.25211.3</SystemComponentModelTypeConverterTestDataVersion>
146-
<SystemDataCommonTestDataVersion>9.0.0-beta.25211.3</SystemDataCommonTestDataVersion>
147-
<SystemDrawingCommonTestDataVersion>9.0.0-beta.25211.3</SystemDrawingCommonTestDataVersion>
148-
<SystemFormatsTarTestDataVersion>9.0.0-beta.25211.3</SystemFormatsTarTestDataVersion>
149-
<SystemIOCompressionTestDataVersion>9.0.0-beta.25211.3</SystemIOCompressionTestDataVersion>
150-
<SystemIOPackagingTestDataVersion>9.0.0-beta.25211.3</SystemIOPackagingTestDataVersion>
151-
<SystemNetTestDataVersion>9.0.0-beta.25211.3</SystemNetTestDataVersion>
152-
<SystemPrivateRuntimeUnicodeDataVersion>9.0.0-beta.25211.3</SystemPrivateRuntimeUnicodeDataVersion>
153-
<SystemRuntimeTimeZoneDataVersion>9.0.0-beta.25211.3</SystemRuntimeTimeZoneDataVersion>
154-
<SystemSecurityCryptographyX509CertificatesTestDataVersion>9.0.0-beta.25211.3</SystemSecurityCryptographyX509CertificatesTestDataVersion>
155-
<SystemTextRegularExpressionsTestDataVersion>9.0.0-beta.25211.3</SystemTextRegularExpressionsTestDataVersion>
156-
<SystemWindowsExtensionsTestDataVersion>9.0.0-beta.25211.3</SystemWindowsExtensionsTestDataVersion>
157-
<MicrosoftDotNetCilStripSourcesVersion>9.0.0-beta.25211.3</MicrosoftDotNetCilStripSourcesVersion>
144+
<SystemRuntimeNumericsTestDataVersion>9.0.0-beta.25266.2</SystemRuntimeNumericsTestDataVersion>
145+
<SystemComponentModelTypeConverterTestDataVersion>9.0.0-beta.25266.2</SystemComponentModelTypeConverterTestDataVersion>
146+
<SystemDataCommonTestDataVersion>9.0.0-beta.25266.2</SystemDataCommonTestDataVersion>
147+
<SystemDrawingCommonTestDataVersion>9.0.0-beta.25266.2</SystemDrawingCommonTestDataVersion>
148+
<SystemFormatsTarTestDataVersion>9.0.0-beta.25266.2</SystemFormatsTarTestDataVersion>
149+
<SystemIOCompressionTestDataVersion>9.0.0-beta.25266.2</SystemIOCompressionTestDataVersion>
150+
<SystemIOPackagingTestDataVersion>9.0.0-beta.25266.2</SystemIOPackagingTestDataVersion>
151+
<SystemNetTestDataVersion>9.0.0-beta.25266.2</SystemNetTestDataVersion>
152+
<SystemPrivateRuntimeUnicodeDataVersion>9.0.0-beta.25266.2</SystemPrivateRuntimeUnicodeDataVersion>
153+
<SystemRuntimeTimeZoneDataVersion>9.0.0-beta.25266.2</SystemRuntimeTimeZoneDataVersion>
154+
<SystemSecurityCryptographyX509CertificatesTestDataVersion>9.0.0-beta.25266.2</SystemSecurityCryptographyX509CertificatesTestDataVersion>
155+
<SystemTextRegularExpressionsTestDataVersion>9.0.0-beta.25266.2</SystemTextRegularExpressionsTestDataVersion>
156+
<SystemWindowsExtensionsTestDataVersion>9.0.0-beta.25266.2</SystemWindowsExtensionsTestDataVersion>
157+
<MicrosoftDotNetCilStripSourcesVersion>9.0.0-beta.25266.2</MicrosoftDotNetCilStripSourcesVersion>
158158
<!-- dotnet-optimization dependencies -->
159159
<optimizationwindows_ntx64MIBCRuntimeVersion>1.0.0-prerelease.24462.2</optimizationwindows_ntx64MIBCRuntimeVersion>
160160
<optimizationwindows_ntx86MIBCRuntimeVersion>1.0.0-prerelease.24462.2</optimizationwindows_ntx86MIBCRuntimeVersion>
@@ -184,9 +184,9 @@
184184
<!-- Testing -->
185185
<MicrosoftNETCoreCoreDisToolsVersion>1.4.0</MicrosoftNETCoreCoreDisToolsVersion>
186186
<MicrosoftNETTestSdkVersion>17.4.0-preview-20220707-01</MicrosoftNETTestSdkVersion>
187-
<MicrosoftDotNetXHarnessTestRunnersCommonVersion>9.0.0-prerelease.25228.2</MicrosoftDotNetXHarnessTestRunnersCommonVersion>
188-
<MicrosoftDotNetXHarnessTestRunnersXunitVersion>9.0.0-prerelease.25228.2</MicrosoftDotNetXHarnessTestRunnersXunitVersion>
189-
<MicrosoftDotNetXHarnessCLIVersion>9.0.0-prerelease.25228.2</MicrosoftDotNetXHarnessCLIVersion>
187+
<MicrosoftDotNetXHarnessTestRunnersCommonVersion>9.0.0-prerelease.25269.3</MicrosoftDotNetXHarnessTestRunnersCommonVersion>
188+
<MicrosoftDotNetXHarnessTestRunnersXunitVersion>9.0.0-prerelease.25269.3</MicrosoftDotNetXHarnessTestRunnersXunitVersion>
189+
<MicrosoftDotNetXHarnessCLIVersion>9.0.0-prerelease.25269.3</MicrosoftDotNetXHarnessCLIVersion>
190190
<MicrosoftDotNetHotReloadUtilsGeneratorBuildToolVersion>9.0.0-alpha.0.25209.2</MicrosoftDotNetHotReloadUtilsGeneratorBuildToolVersion>
191191
<NUnitVersion>3.12.0</NUnitVersion>
192192
<NUnit3TestAdapterVersion>4.5.0</NUnit3TestAdapterVersion>
@@ -215,11 +215,11 @@
215215
<!-- Docs -->
216216
<MicrosoftPrivateIntellisenseVersion>9.0.0-preview-20241010.1</MicrosoftPrivateIntellisenseVersion>
217217
<!-- Mono Cecil -->
218-
<MicrosoftDotNetCecilVersion>0.11.5-alpha.25228.2</MicrosoftDotNetCecilVersion>
218+
<MicrosoftDotNetCecilVersion>0.11.5-alpha.25275.2</MicrosoftDotNetCecilVersion>
219219
<!-- ILCompiler -->
220220
<MicrosoftDotNetILCompilerVersion>9.0.0-rtm.24511.16</MicrosoftDotNetILCompilerVersion>
221221
<!-- ICU -->
222-
<MicrosoftNETCoreRuntimeICUTransportVersion>9.0.0-rtm.25258.1</MicrosoftNETCoreRuntimeICUTransportVersion>
222+
<MicrosoftNETCoreRuntimeICUTransportVersion>9.0.0-rtm.25304.1</MicrosoftNETCoreRuntimeICUTransportVersion>
223223
<MicrosoftNETCoreRuntimeICUTransportVersion>9.0.0-rtm.24466.4</MicrosoftNETCoreRuntimeICUTransportVersion>
224224
<!-- MsQuic -->
225225
<MicrosoftNativeQuicMsQuicSchannelVersion>2.4.8</MicrosoftNativeQuicMsQuicSchannelVersion>
@@ -263,7 +263,7 @@
263263
<MicrosoftSymbolStoreVersion>1.0.406601</MicrosoftSymbolStoreVersion>
264264
<!-- sdk version, for testing workloads -->
265265
<!-- <SdkVersionForWorkloadTesting>$(MicrosoftDotNetApiCompatTaskVersion)</SdkVersionForWorkloadTesting> -->
266-
<SdkVersionForWorkloadTesting>9.0.105</SdkVersionForWorkloadTesting>
266+
<SdkVersionForWorkloadTesting>9.0.106</SdkVersionForWorkloadTesting>
267267
<runtimewinx64MicrosoftNETCoreRuntimeWasmNodeTransportPackageVersion>9.0.0-alpha.1.24175.1</runtimewinx64MicrosoftNETCoreRuntimeWasmNodeTransportPackageVersion>
268268
<EmsdkPackageVersion>$(MicrosoftNETRuntimeEmscriptenVersion)</EmsdkPackageVersion>
269269
<NodePackageVersion>$(runtimewinx64MicrosoftNETCoreRuntimeWasmNodeTransportPackageVersion)</NodePackageVersion>

eng/common/core-templates/post-build/post-build.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,11 @@ parameters:
4444
displayName: Publish installers and checksums
4545
type: boolean
4646
default: true
47+
48+
- name: requireDefaultChannels
49+
displayName: Fail the build if there are no default channel(s) registrations for the current build
50+
type: boolean
51+
default: false
4752

4853
- name: SDLValidationParameters
4954
type: object
@@ -312,5 +317,6 @@ stages:
312317
-PublishingInfraVersion ${{ parameters.publishingInfraVersion }}
313318
-AzdoToken '$(System.AccessToken)'
314319
-WaitPublishingFinish true
320+
-RequireDefaultChannels ${{ parameters.requireDefaultChannels }}
315321
-ArtifactsPublishingAdditionalParameters '${{ parameters.artifactsPublishingAdditionalParameters }}'
316322
-SymbolPublishingAdditionalParameters '${{ parameters.symbolPublishingAdditionalParameters }}'

eng/common/post-build/publish-using-darc.ps1

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@ param(
55
[Parameter(Mandatory=$false)][string] $MaestroApiEndPoint = 'https://maestro.dot.net',
66
[Parameter(Mandatory=$true)][string] $WaitPublishingFinish,
77
[Parameter(Mandatory=$false)][string] $ArtifactsPublishingAdditionalParameters,
8-
[Parameter(Mandatory=$false)][string] $SymbolPublishingAdditionalParameters
8+
[Parameter(Mandatory=$false)][string] $SymbolPublishingAdditionalParameters,
9+
[Parameter(Mandatory=$false)][string] $RequireDefaultChannels
910
)
1011

1112
try {
@@ -33,6 +34,10 @@ try {
3334
if ("false" -eq $WaitPublishingFinish) {
3435
$optionalParams.Add("--no-wait") | Out-Null
3536
}
37+
38+
if ("true" -eq $RequireDefaultChannels) {
39+
$optionalParams.Add("--default-channels-required") | Out-Null
40+
}
3641

3742
& $darc add-build-to-channel `
3843
--id $buildId `

global.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
{
22
"sdk": {
3-
"version": "9.0.105",
3+
"version": "9.0.106",
44
"allowPrerelease": true,
55
"rollForward": "major"
66
},
77
"tools": {
8-
"dotnet": "9.0.105"
8+
"dotnet": "9.0.106"
99
},
1010
"msbuild-sdks": {
11-
"Microsoft.DotNet.Arcade.Sdk": "9.0.0-beta.25255.5",
12-
"Microsoft.DotNet.Helix.Sdk": "9.0.0-beta.25255.5",
13-
"Microsoft.DotNet.SharedFramework.Sdk": "9.0.0-beta.25255.5",
11+
"Microsoft.DotNet.Arcade.Sdk": "9.0.0-beta.25302.2",
12+
"Microsoft.DotNet.Helix.Sdk": "9.0.0-beta.25302.2",
13+
"Microsoft.DotNet.SharedFramework.Sdk": "9.0.0-beta.25302.2",
1414
"Microsoft.Build.NoTargets": "3.7.0",
1515
"Microsoft.Build.Traversal": "3.4.0",
1616
"Microsoft.NET.Sdk.IL": "9.0.0-rtm.24511.16"

src/coreclr/gc/gc.cpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10717,6 +10717,14 @@ size_t gc_heap::sort_mark_list()
1071710717
size_t region_index = get_basic_region_index_for_address (heap_segment_mem (region));
1071810718
uint8_t* region_limit = heap_segment_allocated (region);
1071910719

10720+
// Due to GC holes, x can point to something in a region that already got freed. And that region's
10721+
// allocated would be 0 and cause an infinite loop which is much harder to handle on production than
10722+
// simply throwing an exception.
10723+
if (region_limit == 0)
10724+
{
10725+
FATAL_GC_ERROR();
10726+
}
10727+
1072010728
uint8_t*** mark_list_piece_start_ptr = &mark_list_piece_start[region_index];
1072110729
uint8_t*** mark_list_piece_end_ptr = &mark_list_piece_end[region_index];
1072210730
#else // USE_REGIONS

src/coreclr/jit/codegenxarch.cpp

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6268,6 +6268,18 @@ void CodeGen::genCallInstruction(GenTreeCall* call X86_ARG(target_ssize_t stackA
62686268
{
62696269
retSize = emitTypeSize(retTypeDesc->GetReturnRegType(0));
62706270
secondRetSize = emitTypeSize(retTypeDesc->GetReturnRegType(1));
6271+
6272+
if (retTypeDesc->GetABIReturnReg(1, call->GetUnmanagedCallConv()) == REG_INTRET)
6273+
{
6274+
// If the second return register is REG_INTRET, then the first
6275+
// return is expected to be in a SIMD register.
6276+
// The emitter has hardcoded belief that retSize corresponds to
6277+
// REG_INTRET and secondRetSize to REG_INTRET_1, so fix up the
6278+
// situation here.
6279+
assert(!EA_IS_GCREF_OR_BYREF(retSize));
6280+
retSize = secondRetSize;
6281+
secondRetSize = EA_UNKNOWN;
6282+
}
62716283
}
62726284
else
62736285
{

src/coreclr/jit/gcencode.cpp

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,21 @@ ReturnKind GCInfo::getReturnKind()
4949
case 1:
5050
return VarTypeToReturnKind(retTypeDesc.GetReturnRegType(0));
5151
case 2:
52-
return GetStructReturnKind(VarTypeToReturnKind(retTypeDesc.GetReturnRegType(0)),
53-
VarTypeToReturnKind(retTypeDesc.GetReturnRegType(1)));
52+
{
53+
var_types first = retTypeDesc.GetReturnRegType(0);
54+
var_types second = retTypeDesc.GetReturnRegType(1);
55+
#ifdef UNIX_AMD64_ABI
56+
if (varTypeUsesFloatReg(first))
57+
{
58+
// first does not consume an int register in this case so an obj/ref
59+
// in the second ReturnKind would actually be found in the first int reg.
60+
first = second;
61+
second = TYP_UNDEF;
62+
}
63+
#endif // UNIX_AMD64_ABI
64+
return GetStructReturnKind(VarTypeToReturnKind(first),
65+
VarTypeToReturnKind(second));
66+
}
5467
default:
5568
#ifdef DEBUG
5669
for (unsigned i = 0; i < regCount; i++)

src/coreclr/jit/gentree.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30167,7 +30167,7 @@ unsigned* SsaNumInfo::GetOutlinedNumSlot(Compiler* compiler, unsigned index) con
3016730167
// Copy over all of the already encoded numbers.
3016830168
if (!baseNum.IsInvalid())
3016930169
{
30170-
for (int i = 0; i < SIMPLE_NUM_COUNT; i++)
30170+
for (int i = 0; i < count; i++)
3017130171
{
3017230172
pFirstSlot[i] = baseNum.GetNum(compiler, i);
3017330173
}

src/coreclr/jit/morphblock.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -250,8 +250,6 @@ void MorphInitBlockHelper::PropagateBlockAssertions()
250250
//
251251
void MorphInitBlockHelper::PropagateExpansionAssertions()
252252
{
253-
// Consider doing this for FieldByField as well
254-
//
255253
if (m_comp->optLocalAssertionProp && (m_transformationDecision == BlockTransformation::OneStoreBlock))
256254
{
257255
m_comp->fgAssertionGen(m_store);
@@ -408,6 +406,7 @@ void MorphInitBlockHelper::TryInitFieldByField()
408406
if (m_comp->fgGlobalMorph && m_dstLclNode->IsLastUse(i))
409407
{
410408
JITDUMP("Field-by-field init skipping write to dead field V%02u\n", fieldLclNum);
409+
m_comp->fgKillDependentAssertionsSingle(m_dstLclNum DEBUGARG(m_store));
411410
continue;
412411
}
413412

@@ -1236,6 +1235,7 @@ GenTree* MorphCopyBlockHelper::CopyFieldByField()
12361235
{
12371236
INDEBUG(unsigned dstFieldLclNum = m_comp->lvaGetDesc(m_dstLclNum)->lvFieldLclStart + i);
12381237
JITDUMP("Field-by-field copy skipping write to dead field V%02u\n", dstFieldLclNum);
1238+
m_comp->fgKillDependentAssertionsSingle(m_dstLclNum DEBUGARG(m_store));
12391239
continue;
12401240
}
12411241

src/coreclr/vm/method.cpp

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1324,6 +1324,15 @@ ReturnKind MethodDesc::ParseReturnKindFromSig(INDEBUG(bool supportStringConstruc
13241324
regKinds[i] = RT_Scalar;
13251325
}
13261326
}
1327+
1328+
if (eeClass->GetEightByteClassification(0) == SystemVClassificationTypeSSE)
1329+
{
1330+
// Skip over SSE types since they do not consume integer registers.
1331+
// An obj/byref in the 2nd eight bytes will be in the first integer register.
1332+
regKinds[0] = regKinds[1];
1333+
regKinds[1] = RT_Scalar;
1334+
}
1335+
13271336
ReturnKind structReturnKind = GetStructReturnKind(regKinds[0], regKinds[1]);
13281337
return structReturnKind;
13291338
}
@@ -3687,10 +3696,14 @@ MethodDesc::EnumMemoryRegions(CLRDataEnumMemoryFlags flags)
36873696
ILCodeVersion ilVersion = pCodeVersionManager->GetActiveILCodeVersion(dac_cast<PTR_MethodDesc>(this));
36883697
if (!ilVersion.IsNull())
36893698
{
3690-
ilVersion.GetActiveNativeCodeVersion(dac_cast<PTR_MethodDesc>(this));
3691-
ilVersion.GetVersionId();
3692-
ilVersion.GetRejitState();
3693-
ilVersion.GetIL();
3699+
EX_TRY
3700+
{
3701+
ilVersion.GetActiveNativeCodeVersion(dac_cast<PTR_MethodDesc>(this));
3702+
ilVersion.GetVersionId();
3703+
ilVersion.GetRejitState();
3704+
ilVersion.GetIL();
3705+
}
3706+
EX_CATCH_RETHROW_ONLY_COR_E_OPERATIONCANCELLED
36943707
}
36953708
#endif
36963709

0 commit comments

Comments
 (0)