Skip to content

Commit 24658f3

Browse files
authored
Merge pull request #92401 from dotnet-maestro-bot/merge/release/8.0-rc2-to-release/8.0
[automated] Merge branch 'release/8.0-rc2' => 'release/8.0'
2 parents 78a61f9 + 98f631d commit 24658f3

File tree

13 files changed

+141
-11
lines changed

13 files changed

+141
-11
lines changed

eng/Versions.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<MinorVersion>0</MinorVersion>
88
<PatchVersion>0</PatchVersion>
99
<SdkBandVersion>8.0.100</SdkBandVersion>
10-
<PackageVersionNet7>7.0.11</PackageVersionNet7>
10+
<PackageVersionNet7>7.0.12</PackageVersionNet7>
1111
<PackageVersionNet6>6.0.$([MSBuild]::Add($([System.Version]::Parse('$(PackageVersionNet7)').Build),11))</PackageVersionNet6>
1212
<PreReleaseVersionLabel>rtm</PreReleaseVersionLabel>
1313
<PreReleaseVersionIteration>

eng/pipelines/runtime.yml

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -556,6 +556,47 @@ extends:
556556
extraBuildArgs: /p:AotHostArchitecture=x64 /p:AotHostOS=$(_hostedOS)
557557
alwaysRun: ${{ variables.isRollingBuild }}
558558

559+
#
560+
# Android devices
561+
# Build the whole product using Mono and run libraries tests
562+
#
563+
- template: /eng/pipelines/common/platform-matrix.yml
564+
parameters:
565+
jobTemplate: /eng/pipelines/common/global-build-job.yml
566+
helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml
567+
buildConfig: Release
568+
runtimeFlavor: mono
569+
platforms:
570+
- android_arm
571+
- android_arm64
572+
variables:
573+
# map dependencies variables to local variables
574+
- name: librariesContainsChange
575+
value: $[ dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'] ]
576+
- name: monoContainsChange
577+
value: $[ dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'] ]
578+
jobParameters:
579+
testGroup: innerloop
580+
nameSuffix: AllSubsets_Mono
581+
buildArgs: -s mono+libs+libs.tests+host+packs -c $(_BuildConfig) /p:ArchiveTests=true /p:RunSmokeTestsOnly=true /p:EnableAdditionalTimezoneChecks=true
582+
timeoutInMinutes: 480
583+
condition: >-
584+
or(
585+
eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
586+
eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
587+
eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true),
588+
eq(variables['isRollingBuild'], true))
589+
# extra steps, run tests
590+
extraStepsTemplate: /eng/pipelines/libraries/helix.yml
591+
extraStepsParameters:
592+
creator: dotnet-bot
593+
testRunNamePrefixSuffix: Mono_$(_BuildConfig)
594+
condition: >-
595+
or(
596+
eq(variables['librariesContainsChange'], true),
597+
eq(variables['monoContainsChange'], true),
598+
eq(variables['isRollingBuild'], true))
599+
559600
#
560601
# iOS/tvOS devices - Full AOT + AggressiveTrimming to reduce size
561602
# Build the whole product using Mono and run libraries tests

src/coreclr/debug/daccess/dacdbiimpl.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7788,8 +7788,9 @@ HRESULT DacStackReferenceWalker::Next(ULONG count, DacGcReference stackRefs[], U
77887788
stackRefs[i].i64ExtraData = 0;
77897789

77907790
const SOSStackRefData &sosStackRef = mList.Get(i);
7791-
if (sosStackRef.Flags & GC_CALL_INTERIOR)
7791+
if (sosStackRef.Flags & GC_CALL_INTERIOR || sosStackRef.Address == 0)
77927792
{
7793+
// Direct pointer case - interior pointer, Frame ref, or enregistered var.
77937794
stackRefs[i].pObject = CLRDATA_ADDRESS_TO_TADDR(sosStackRef.Object) | 1;
77947795
}
77957796
else

src/coreclr/debug/di/rsclass.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,7 @@ HRESULT CordbClass::GetStaticFieldValue(mdFieldDef fieldDef,
132132
IMetaDataImport * pImport = NULL;
133133
EX_TRY
134134
{
135+
RSLockHolder lockHolder(GetProcess()->GetProcessLock());
135136
pImport = GetModule()->GetMetaDataImporter(); // throws
136137

137138
// Validate the token.
@@ -1191,4 +1192,3 @@ HRESULT CordbClass::SearchFieldInfo(
11911192
// Well, the field doesn't even belong to this class...
11921193
ThrowHR(E_INVALIDARG);
11931194
}
1194-

src/coreclr/jit/gentree.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19639,8 +19639,8 @@ GenTree* Compiler::gtNewSimdBinOpNode(
1963919639
}
1964019640
else
1964119641
{
19642-
assert(op2->TypeIs(type, simdBaseType, genActualType(simdBaseType)) ||
19643-
(op2->TypeIs(TYP_SIMD12) && type == TYP_SIMD16));
19642+
assert((genActualType(op2) == genActualType(type)) || (genActualType(op2) == genActualType(simdBaseType)) ||
19643+
(op2->TypeIs(TYP_SIMD12) && (type == TYP_SIMD16)));
1964419644
}
1964519645

1964619646
NamedIntrinsic intrinsic = NI_Illegal;

src/coreclr/jit/lowerxarch.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7956,6 +7956,9 @@ bool Lowering::IsContainableHWIntrinsicOp(GenTreeHWIntrinsic* parentNode, GenTre
79567956
// The memory form of this already takes a pointer and should be treated like a MemoryLoad
79577957
supportsGeneralLoads = !childNode->OperIsHWIntrinsic();
79587958
}
7959+
7960+
supportsGeneralLoads =
7961+
supportsGeneralLoads && (genTypeSize(childNode) >= genTypeSize(parentNode->GetSimdBaseType()));
79597962
break;
79607963
}
79617964

src/coreclr/jit/valuenum.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7891,7 +7891,7 @@ ValueNum ValueNumStore::EvalHWIntrinsicFunBinary(var_types type,
78917891
#endif
78927892
{
78937893
// Handle `x ^ x == 0`
7894-
return arg0VN;
7894+
return VNZeroForType(type);
78957895
}
78967896

78977897
default:

src/mono/mono/mini/aot-compiler.c

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10708,6 +10708,18 @@ execute_system (const char * command)
1070810708

1070910709
#ifdef ENABLE_LLVM
1071010710

10711+
#ifdef HOST_WIN32
10712+
#define OPT_NAME "opt.exe"
10713+
#else
10714+
#define OPT_NAME "opt"
10715+
#endif
10716+
10717+
#ifdef HOST_WIN32
10718+
#define LLC_NAME "llc.exe"
10719+
#else
10720+
#define LLC_NAME "llc"
10721+
#endif
10722+
1071110723
/*
1071210724
* emit_llvm_file:
1071310725
*
@@ -10776,11 +10788,11 @@ emit_llvm_file (MonoAotCompile *acfg)
1077610788
} else {
1077710789
#if LLVM_API_VERSION >= 1600
1077810790
/* The safepoints pass requires new pass manager syntax*/
10779-
opts = g_strdup ("-disable-tail-calls -passes='");
10791+
opts = g_strdup ("-disable-tail-calls -passes=\"");
1078010792
if (!acfg->aot_opts.llvm_only) {
1078110793
opts = g_strdup_printf ("%sdefault<O2>,", opts);
1078210794
}
10783-
opts = g_strdup_printf ("%splace-safepoints' -spp-all-backedges", opts);
10795+
opts = g_strdup_printf ("%splace-safepoints\" -spp-all-backedges", opts);
1078410796
#elif LLVM_API_VERSION >= 1300
1078510797
/* The safepoints pass requires the old pass manager */
1078610798
opts = g_strdup ("-disable-tail-calls -place-safepoints -spp-all-backedges -enable-new-pm=0");
@@ -10810,7 +10822,7 @@ emit_llvm_file (MonoAotCompile *acfg)
1081010822
opts = g_strdup_printf ("%s -fp-contract=fast -enable-no-infs-fp-math -enable-no-nans-fp-math -enable-no-signed-zeros-fp-math -enable-no-trapping-fp-math -enable-unsafe-fp-math", opts);
1081110823
}
1081210824

10813-
command = g_strdup_printf ("\"%sopt\" -f %s -o \"%s\" \"%s\"", acfg->aot_opts.llvm_path, opts, optbc, tempbc);
10825+
command = g_strdup_printf ("\"%s" OPT_NAME "\" -f %s -o \"%s\" \"%s\"", acfg->aot_opts.llvm_path, opts, optbc, tempbc);
1081410826
aot_printf (acfg, "Executing opt: %s\n", command);
1081510827
if (execute_system (command) != 0)
1081610828
return FALSE;
@@ -10885,7 +10897,7 @@ emit_llvm_file (MonoAotCompile *acfg)
1088510897
g_string_append_printf (acfg->llc_args, " -mattr=%s", acfg->aot_opts.llvm_cpu_attr);
1088610898
}
1088710899

10888-
command = g_strdup_printf ("\"%sllc\" %s -o \"%s\" \"%s.opt.bc\"", acfg->aot_opts.llvm_path, acfg->llc_args->str, output_fname, acfg->tmpbasename);
10900+
command = g_strdup_printf ("\"%s" LLC_NAME "\" %s -o \"%s\" \"%s.opt.bc\"", acfg->aot_opts.llvm_path, acfg->llc_args->str, output_fname, acfg->tmpbasename);
1088910901
g_free (output_fname);
1089010902

1089110903
aot_printf (acfg, "Executing llc: %s\n", command);

src/mono/mono/mini/mini-generic-sharing.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2886,7 +2886,8 @@ info_equal (gpointer data1, gpointer data2, MonoRgctxInfoType info_type)
28862886
return data1 == data2;
28872887
case MONO_RGCTX_INFO_VIRT_METHOD:
28882888
case MONO_RGCTX_INFO_VIRT_METHOD_CODE:
2889-
case MONO_RGCTX_INFO_VIRT_METHOD_BOX_TYPE: {
2889+
case MONO_RGCTX_INFO_VIRT_METHOD_BOX_TYPE:
2890+
case MONO_RGCTX_INFO_GSHAREDVT_CONSTRAINED_CALL_INFO: {
28902891
MonoJumpInfoVirtMethod *info1 = (MonoJumpInfoVirtMethod *)data1;
28912892
MonoJumpInfoVirtMethod *info2 = (MonoJumpInfoVirtMethod *)data2;
28922893

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
// Licensed to the .NET Foundation under one or more agreements.
2+
// The .NET Foundation licenses this file to you under the MIT license.
3+
4+
using System.Runtime.CompilerServices;
5+
using System.Runtime.Intrinsics;
6+
using Xunit;
7+
8+
public class Runtime_83387
9+
{
10+
[MethodImpl(MethodImplOptions.NoOptimization)]
11+
[Fact]
12+
public static int TestEntryPoint()
13+
{
14+
(ushort A, ushort R) c = (1, 65535);
15+
Vector128<uint> v1 = Vector128.Create((uint)100);
16+
v1 = v1 * c.A;
17+
return (int)v1.ToScalar();
18+
}
19+
}

0 commit comments

Comments
 (0)