diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json index 72af997c0c254..6ff1559a00ab9 100644 --- a/.config/dotnet-tools.json +++ b/.config/dotnet-tools.json @@ -15,7 +15,7 @@ ] }, "microsoft.dotnet.xharness.cli": { - "version": "8.0.0-prerelease.24060.1", + "version": "8.0.0-prerelease.24112.2", "commands": [ "xharness" ] diff --git a/NuGet.config b/NuGet.config index a681bc250bc9e..97380116615ba 100644 --- a/NuGet.config +++ b/NuGet.config @@ -9,7 +9,7 @@ - + diff --git a/eng/Publishing.props b/eng/Publishing.props index 920e79cbbd2f7..8b796225f8274 100644 --- a/eng/Publishing.props +++ b/eng/Publishing.props @@ -1,6 +1,7 @@ - + - 3 + true - \ No newline at end of file + + diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index b54cff26d4cff..7bad61f7c233a 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -90,13 +90,13 @@ 45dd3a73dd5b64b010c4251303b3664bb30df029 - + https://github.com/dotnet/emsdk - 9a29abdd764a4de0f253ed368871877a47725247 + 1639670c6547454278f51afc5c74e20f8acc7abd - + https://github.com/dotnet/emsdk - 9a29abdd764a4de0f253ed368871877a47725247 + 1639670c6547454278f51afc5c74e20f8acc7abd @@ -104,9 +104,9 @@ 453a37ef7ae6c335cd49b3b9ab7713c87faeb265 - + https://github.com/dotnet/source-build-externals - 83274d94c7e2ff21081b0d75ecbec2da2241f831 + 7a9b99e457a2b9792a3c17ccaf95d80038725108 @@ -185,57 +185,57 @@ https://github.com/dotnet/arcade da98edc4c3ea539f109ea320672136ceb32591a7 - + https://github.com/dotnet/runtime-assets - ca6c46012f68934198ce0d303196c3ae179230f5 + 0827f89642a6443c96a87990e3b910f6aa4cc4ed - + https://github.com/dotnet/runtime-assets - ca6c46012f68934198ce0d303196c3ae179230f5 + 0827f89642a6443c96a87990e3b910f6aa4cc4ed - + https://github.com/dotnet/runtime-assets - ca6c46012f68934198ce0d303196c3ae179230f5 + 0827f89642a6443c96a87990e3b910f6aa4cc4ed - + https://github.com/dotnet/runtime-assets - ca6c46012f68934198ce0d303196c3ae179230f5 + 0827f89642a6443c96a87990e3b910f6aa4cc4ed - + https://github.com/dotnet/runtime-assets - ca6c46012f68934198ce0d303196c3ae179230f5 + 0827f89642a6443c96a87990e3b910f6aa4cc4ed - + https://github.com/dotnet/runtime-assets - ca6c46012f68934198ce0d303196c3ae179230f5 + 0827f89642a6443c96a87990e3b910f6aa4cc4ed - + https://github.com/dotnet/runtime-assets - ca6c46012f68934198ce0d303196c3ae179230f5 + 0827f89642a6443c96a87990e3b910f6aa4cc4ed - + https://github.com/dotnet/runtime-assets - ca6c46012f68934198ce0d303196c3ae179230f5 + 0827f89642a6443c96a87990e3b910f6aa4cc4ed - + https://github.com/dotnet/runtime-assets - ca6c46012f68934198ce0d303196c3ae179230f5 + 0827f89642a6443c96a87990e3b910f6aa4cc4ed - + https://github.com/dotnet/runtime-assets - ca6c46012f68934198ce0d303196c3ae179230f5 + 0827f89642a6443c96a87990e3b910f6aa4cc4ed - + https://github.com/dotnet/runtime-assets - ca6c46012f68934198ce0d303196c3ae179230f5 + 0827f89642a6443c96a87990e3b910f6aa4cc4ed - + https://github.com/dotnet/runtime-assets - ca6c46012f68934198ce0d303196c3ae179230f5 + 0827f89642a6443c96a87990e3b910f6aa4cc4ed - + https://github.com/dotnet/runtime-assets - ca6c46012f68934198ce0d303196c3ae179230f5 + 0827f89642a6443c96a87990e3b910f6aa4cc4ed https://github.com/dotnet/llvm-project @@ -322,17 +322,17 @@ https://github.com/dotnet/runtime edbd5c769a19798b6955050baccf99e6797d3208 - + https://github.com/dotnet/xharness - a417169d3ba558fd6daa522f04e686574bbce520 + c055cc57f21796e79ace4bca2b070a8777f2446a - + https://github.com/dotnet/xharness - a417169d3ba558fd6daa522f04e686574bbce520 + c055cc57f21796e79ace4bca2b070a8777f2446a - + https://github.com/dotnet/xharness - a417169d3ba558fd6daa522f04e686574bbce520 + c055cc57f21796e79ace4bca2b070a8777f2446a https://github.com/dotnet/arcade @@ -358,9 +358,9 @@ https://github.com/dotnet/hotreload-utils bc857c64c5c5f1fc73048261e8f471c3310224d2 - + https://github.com/dotnet/runtime-assets - ca6c46012f68934198ce0d303196c3ae179230f5 + 0827f89642a6443c96a87990e3b910f6aa4cc4ed https://github.com/dotnet/roslyn diff --git a/eng/Versions.props b/eng/Versions.props index 9c3641d22d16b..e67e223bb4188 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -143,20 +143,20 @@ 4.5.0 8.0.0-rc.1.23406.6 - 8.0.0-beta.24108.4 - 8.0.0-beta.24108.4 - 8.0.0-beta.24108.4 - 8.0.0-beta.24108.4 - 8.0.0-beta.24108.4 - 8.0.0-beta.24108.4 - 8.0.0-beta.24108.4 - 8.0.0-beta.24108.4 - 8.0.0-beta.24108.4 - 8.0.0-beta.24108.4 - 8.0.0-beta.24108.4 - 8.0.0-beta.24108.4 - 8.0.0-beta.24108.4 - 8.0.0-beta.24108.4 + 8.0.0-beta.24115.2 + 8.0.0-beta.24115.2 + 8.0.0-beta.24115.2 + 8.0.0-beta.24115.2 + 8.0.0-beta.24115.2 + 8.0.0-beta.24115.2 + 8.0.0-beta.24115.2 + 8.0.0-beta.24115.2 + 8.0.0-beta.24115.2 + 8.0.0-beta.24115.2 + 8.0.0-beta.24115.2 + 8.0.0-beta.24115.2 + 8.0.0-beta.24115.2 + 8.0.0-beta.24115.2 1.0.0-prerelease.23566.3 1.0.0-prerelease.23566.3 @@ -165,7 +165,7 @@ 1.0.0-prerelease.23566.3 1.0.0-prerelease.23566.3 - 16.11.29-beta1.23404.4 + 17.8.7-beta1.24113.1 2.0.0-beta4.23307.1 3.0.3 2.1.0 @@ -183,9 +183,9 @@ 1.1.0 17.4.0-preview-20220707-01 - 8.0.0-prerelease.24060.1 - 8.0.0-prerelease.24060.1 - 8.0.0-prerelease.24060.1 + 8.0.0-prerelease.24112.2 + 8.0.0-prerelease.24112.2 + 8.0.0-prerelease.24112.2 8.0.0-alpha.0.24072.2 2.4.2 1.0.0 @@ -240,7 +240,7 @@ Note: when the name is updated, make sure to update dependency name in eng/pipelines/common/xplat-setup.yml like - DarcDependenciesChanged.Microsoft_NET_Workload_Emscripten_Current_Manifest-8_0_100_Transport --> - 8.0.3 + 8.0.4 $(MicrosoftNETWorkloadEmscriptenCurrentManifest80100Version) 1.1.87-gba258badda diff --git a/src/coreclr/jit/codegencommon.cpp b/src/coreclr/jit/codegencommon.cpp index 72e31c388154a..c6892747e0548 100644 --- a/src/coreclr/jit/codegencommon.cpp +++ b/src/coreclr/jit/codegencommon.cpp @@ -6154,8 +6154,14 @@ void CodeGen::genFnProlog() }; #if defined(TARGET_AMD64) || defined(TARGET_ARM64) || defined(TARGET_ARM) - assignIncomingRegisterArgs(&intRegState); + // Handle float parameters first; in the presence of struct promotion + // we can have parameters that are homed into float registers but + // passed in integer registers. So make sure we get those out of the + // integer registers before we potentially override those as part of + // handling integer parameters. + assignIncomingRegisterArgs(&floatRegState); + assignIncomingRegisterArgs(&intRegState); #else assignIncomingRegisterArgs(&intRegState); #endif diff --git a/src/coreclr/jit/lsra.cpp b/src/coreclr/jit/lsra.cpp index 0a33ba3faba9b..c4f2d68e00d70 100644 --- a/src/coreclr/jit/lsra.cpp +++ b/src/coreclr/jit/lsra.cpp @@ -1663,6 +1663,21 @@ bool LinearScan::isRegCandidate(LclVarDsc* varDsc) return false; } + // Avoid allocating parameters that are passed in float regs into integer + // registers. We currently home float registers before integer registers, + // so that kind of enregistration can trash integer registers containing + // other parameters. + // We assume that these cases will be homed to float registers if they are + // promoted. + // TODO-CQ: Combine integer and float register homing to handle these kinds + // of conflicts. + if ((varDsc->TypeGet() == TYP_STRUCT) && varDsc->lvIsRegArg && !varDsc->lvPromoted && + varTypeUsesIntReg(varDsc->GetRegisterType()) && genIsValidFloatReg(varDsc->GetArgReg())) + { + compiler->lvaSetVarDoNotEnregister(lclNum DEBUGARG(DoNotEnregisterReason::IsStructArg)); + return false; + } + // Are we not optimizing and we have exception handlers? // if so mark all args and locals as volatile, so that they // won't ever get enregistered. diff --git a/src/coreclr/nativeaot/BuildIntegration/Microsoft.DotNet.ILCompiler.SingleEntry.targets b/src/coreclr/nativeaot/BuildIntegration/Microsoft.DotNet.ILCompiler.SingleEntry.targets index 178d8aaa93aa9..299840345a791 100644 --- a/src/coreclr/nativeaot/BuildIntegration/Microsoft.DotNet.ILCompiler.SingleEntry.targets +++ b/src/coreclr/nativeaot/BuildIntegration/Microsoft.DotNet.ILCompiler.SingleEntry.targets @@ -5,8 +5,7 @@ <_hostOS>$(NETCoreSdkPortableRuntimeIdentifier.SubString(0, $(NETCoreSdkPortableRuntimeIdentifier.LastIndexOf('-')))) <_targetOS>$(RuntimeIdentifier.SubString(0, $(RuntimeIdentifier.LastIndexOf('-')))) - <_indexOfPeriod>$(_targetOS.IndexOf('.')) - <_targetOS Condition="'$(_indexOfPeriod)' > -1">$(_targetOS.SubString(0, $(_indexOfPeriod))) + <_targetOS Condition="$(_targetOS.Contains('.'))">$(_targetOS.SubString(0, $(_targetOS.IndexOf('.')))) <_targetOS Condition="$(_targetOS.StartsWith('win'))">win diff --git a/src/coreclr/vm/zapsig.cpp b/src/coreclr/vm/zapsig.cpp index bbbab9a51c84d..dfd447f94eaaf 100644 --- a/src/coreclr/vm/zapsig.cpp +++ b/src/coreclr/vm/zapsig.cpp @@ -1350,6 +1350,9 @@ BOOL ZapSig::EncodeMethod( else { Instantiation inst = pMethod->GetMethodInstantiation(); + + pSigBuilder->AppendData(inst.GetNumArgs()); + for (DWORD i = 0; i < inst.GetNumArgs(); i++) { TypeHandle t = inst[i]; diff --git a/src/installer/prepare-artifacts.proj b/src/installer/prepare-artifacts.proj index 5413e825c9513..a9e0931c11601 100644 --- a/src/installer/prepare-artifacts.proj +++ b/src/installer/prepare-artifacts.proj @@ -23,6 +23,8 @@ + + @@ -56,6 +58,16 @@ + + + + DotNetReleaseShipping=true + + +