dotnet-maestro[bot] [Tue, 18 May 2021 16:11:57 +0000 (09:11 -0700)]
Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimization build
20210517.7 (#52901)
optimization.linux-x64.MIBC.Runtime , optimization.windows_nt-x64.MIBC.Runtime , optimization.windows_nt-x86.MIBC.Runtime , optimization.PGO.CoreCLR
From Version 1.0.0-prerelease.21266.3 -> To Version 1.0.0-prerelease.21267.7
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Adeel Mujahid [Tue, 18 May 2021 15:42:26 +0000 (18:42 +0300)]
Quote property value (#52917)
Pent Ploompuu [Tue, 18 May 2021 15:39:23 +0000 (18:39 +0300)]
Faster unsigned division by constants (#52893)
* Faster unsigned division by constants
* Fix Arm build and add some tests.
* Improve register allocation
* Fix ARM64 codegen
* Fix MULHI flags
* Remove ARM32 codegen
* Widen 32bit UDIV to 64bit MULHI when possible. Improve register allocation.
* Always widen 32bit UDIV to 64bit MUL/MULHI
* Cleanup
* Final optimization
* Fix typo
* Rebase and use inst_Mov instead of inst_RV_RV(INS_mov)
* Fix formatting (1 space)
dotnet-maestro[bot] [Tue, 18 May 2021 15:31:01 +0000 (17:31 +0200)]
[main] Update dependencies from dotnet/icu dotnet/xharness dotnet/llvm-project dotnet/runtime-assets dotnet/hotreload-utils (#52902)
* Update dependencies from https://github.com/dotnet/icu build
20210517.1
Microsoft.NETCore.Runtime.ICU.Transport
From Version 6.0.0-preview.5.21260.1 -> To Version 6.0.0-preview.5.21267.1
* Update dependencies from https://github.com/dotnet/xharness build
20210518.1
Microsoft.DotNet.XHarness.CLI , Microsoft.DotNet.XHarness.TestRunners.Xunit
From Version 1.0.0-prerelease.21264.3 -> To Version 1.0.0-prerelease.21268.1
* Update dependencies from https://github.com/dotnet/llvm-project build
20210517.1
runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.osx.10.12-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.osx.10.12-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools
From Version 9.0.1-alpha.1.21260.1 -> To Version 9.0.1-alpha.1.21267.1
* Update dependencies from https://github.com/dotnet/runtime-assets build
20210517.1
System.ComponentModel.TypeConverter.TestData , System.Drawing.Common.TestData , System.IO.Compression.TestData , System.IO.Packaging.TestData , System.Net.TestData , System.Private.Runtime.UnicodeData , System.Runtime.TimeZoneData , System.Security.Cryptography.X509Certificates.TestData , System.Windows.Extensions.TestData
From Version 6.0.0-beta.21260.1 -> To Version 6.0.0-beta.21267.1
* Update dependencies from https://github.com/dotnet/hotreload-utils build
20210517.1
Microsoft.DotNet.HotReload.Utils.Generator.BuildTool
From Version 1.0.1-alpha.0.21264.2 -> To Version 1.0.1-alpha.0.21267.1
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Ulrich Weigand [Tue, 18 May 2021 15:22:06 +0000 (17:22 +0200)]
Fix ABI problem when marshalling X509VerifyStatusCode on s390x
The X509VerifyStatusCode type is defined as an enum in C code, but as
a struct (with a single member) in C# code. This means that marshalling
this type only works correctly on platforms where the ABI treats these
two types as equivalent. This fails e.g. on Linux on s390x.
Fixed by changing all native functions that take X509VerifyStatusCode
as argument or return type to use a plain "int" instead.
Ulrich Weigand [Tue, 18 May 2021 15:16:21 +0000 (17:16 +0200)]
Allow building paltests without coreclr_misc (#52899)
Remove dependency on coreclr_misc for the paltests_install component.
Michal Strehovský [Tue, 18 May 2021 15:08:53 +0000 (17:08 +0200)]
Reflection-annotate the ReflectObj test (#52896)
* Reflection-annotate the ReflectObj test
* Delete reflectobj.reflect.xml
dotnet-maestro[bot] [Tue, 18 May 2021 14:08:39 +0000 (14:08 +0000)]
Update dependencies from https://github.com/dotnet/emsdk build
20210517.1 (#52839)
[main] Update dependencies from dotnet/emsdk
Marie Píchová [Tue, 18 May 2021 13:36:04 +0000 (15:36 +0200)]
Fixed state handling in case of StreamSend fails. (#52756)
Ulrich Weigand [Tue, 18 May 2021 12:48:38 +0000 (14:48 +0200)]
Build support for s390x: eng scripts (#52840)
Add support for Linux on s390x as host and target build architecture.
Adeel Mujahid [Tue, 18 May 2021 12:47:48 +0000 (15:47 +0300)]
Fix versions for Libs subset's native artifacts (#52799)
During the repo consolidation, we missed passing `OfficialBuildId`
argument to common script from all subsets, which resulted in default
version emitted in the binaries produced by Libs subset in the official
builds.
Aleksey Kliger (λgeek) [Tue, 18 May 2021 12:41:38 +0000 (08:41 -0400)]
[reflection] Add GC Unsafe transitions on embedding API functions (#52769)
Transition to GC Unsafe mode on every MONO_RT_EXTERNAL_ONLY function in
reflection.c
In particular, fix mono_reflection_type_from_name which is used in
https://github.com/xamarin/xamarin-android/blob/
681887ebdbd192ce7ce1cd02221d4939599ba762/src/monodroid/jni/embedded-assemblies.cc#L350
Fixes stack traces like
```
05-14 08:06:12.848 31274 31274 F DEBUG : #00 pc
00000b99 [vdso] (__kernel_vsyscall+9)
05-14 08:06:12.848 31274 31274 F DEBUG : #01 pc
0005ad68 /apex/com.android.runtime/lib/bionic/libc.so (syscall+40) (BuildId:
6e3a0180fa6637b68c0d181c343e6806)
05-14 08:06:12.848 31274 31274 F DEBUG : #02 pc
00076511 /apex/com.android.runtime/lib/bionic/libc.so (abort+209) (BuildId:
6e3a0180fa6637b68c0d181c343e6806)
05-14 08:06:12.848 31274 31274 F DEBUG : #03 pc
0002afcd /data/app/~~rMrkpKmVPaBpM5jKb8fPAg==/com.microsoft.maui-JfRo8RWSDJaNtJuBa0y7_Q==/lib/x86/libmonodroid.so (xamarin::android::internal::MonodroidRuntime::mono_log_handler(char const*, char const*, char const*, int, void*)+141) (BuildId:
9726f32ad5f8fa5e7c5762baf2f6e3294da41cc1)
05-14 08:06:12.848 31274 31274 F DEBUG : #04 pc
00112c5d /data/app/~~rMrkpKmVPaBpM5jKb8fPAg==/com.microsoft.maui-JfRo8RWSDJaNtJuBa0y7_Q==/lib/x86/libmonosgen-2.0.so (eglib_log_adapter+141) (BuildId:
b67e93dd750dafdd6f65f408b021b6a3a74868ac)
05-14 08:06:12.849 31274 31274 F DEBUG : #05 pc
00020fdf /data/app/~~rMrkpKmVPaBpM5jKb8fPAg==/com.microsoft.maui-JfRo8RWSDJaNtJuBa0y7_Q==/lib/x86/libmonosgen-2.0.so (monoeg_g_logv+175) (BuildId:
b67e93dd750dafdd6f65f408b021b6a3a74868ac)
05-14 08:06:12.849 31274 31274 F DEBUG : #06 pc
0002113a /data/app/~~rMrkpKmVPaBpM5jKb8fPAg==/com.microsoft.maui-JfRo8RWSDJaNtJuBa0y7_Q==/lib/x86/libmonosgen-2.0.so (monoeg_g_log+42) (BuildId:
b67e93dd750dafdd6f65f408b021b6a3a74868ac)
05-14 08:06:12.849 31274 31274 F DEBUG : #07 pc
00128892 /data/app/~~rMrkpKmVPaBpM5jKb8fPAg==/com.microsoft.maui-JfRo8RWSDJaNtJuBa0y7_Q==/lib/x86/libmonosgen-2.0.so (mono_threads_transition_do_blocking+258) (BuildId:
b67e93dd750dafdd6f65f408b021b6a3a74868ac)
05-14 08:06:12.849 31274 31274 F DEBUG : #08 pc
0012a406 /data/app/~~rMrkpKmVPaBpM5jKb8fPAg==/com.microsoft.maui-JfRo8RWSDJaNtJuBa0y7_Q==/lib/x86/libmonosgen-2.0.so (mono_threads_enter_gc_safe_region_unbalanced_with_info+134) (BuildId:
b67e93dd750dafdd6f65f408b021b6a3a74868ac)
05-14 08:06:12.849 31274 31274 F DEBUG : #09 pc
0012a27e /data/app/~~rMrkpKmVPaBpM5jKb8fPAg==/com.microsoft.maui-JfRo8RWSDJaNtJuBa0y7_Q==/lib/x86/libmonosgen-2.0.so (mono_threads_enter_gc_safe_region_internal+46) (BuildId:
b67e93dd750dafdd6f65f408b021b6a3a74868ac)
05-14 08:06:12.849 31274 31274 F DEBUG : #10 pc
000799a7 /data/app/~~rMrkpKmVPaBpM5jKb8fPAg==/com.microsoft.maui-JfRo8RWSDJaNtJuBa0y7_Q==/lib/x86/libmonosgen-2.0.so (mono_loader_lock+71) (BuildId:
b67e93dd750dafdd6f65f408b021b6a3a74868ac)
05-14 08:06:12.849 31274 31274 F DEBUG : #11 pc
000447a1 /data/app/~~rMrkpKmVPaBpM5jKb8fPAg==/com.microsoft.maui-JfRo8RWSDJaNtJuBa0y7_Q==/lib/x86/libmonosgen-2.0.so (mono_class_create_from_typedef+129) (BuildId:
b67e93dd750dafdd6f65f408b021b6a3a74868ac)
05-14 08:06:12.849 31274 31274 F DEBUG : #12 pc
0003c073 /data/app/~~rMrkpKmVPaBpM5jKb8fPAg==/com.microsoft.maui-JfRo8RWSDJaNtJuBa0y7_Q==/lib/x86/libmonosgen-2.0.so (mono_class_get_checked+99) (BuildId:
b67e93dd750dafdd6f65f408b021b6a3a74868ac)
05-14 08:06:12.849 31274 31274 F DEBUG : #13 pc
0003cc0f /data/app/~~rMrkpKmVPaBpM5jKb8fPAg==/com.microsoft.maui-JfRo8RWSDJaNtJuBa0y7_Q==/lib/x86/libmonosgen-2.0.so (mono_class_from_name_checked_aux+735) (BuildId:
b67e93dd750dafdd6f65f408b021b6a3a74868ac)
05-14 08:06:12.849 31274 31274 F DEBUG : #14 pc
00037989 /data/app/~~rMrkpKmVPaBpM5jKb8fPAg==/com.microsoft.maui-JfRo8RWSDJaNtJuBa0y7_Q==/lib/x86/libmonosgen-2.0.so (mono_class_from_name_checked+73) (BuildId:
b67e93dd750dafdd6f65f408b021b6a3a74868ac)
05-14 08:06:12.849 31274 31274 F DEBUG : #15 pc
000cc5f4 /data/app/~~rMrkpKmVPaBpM5jKb8fPAg==/com.microsoft.maui-JfRo8RWSDJaNtJuBa0y7_Q==/lib/x86/libmonosgen-2.0.so (mono_reflection_get_type_internal+132) (BuildId:
b67e93dd750dafdd6f65f408b021b6a3a74868ac)
05-14 08:06:12.849 31274 31274 F DEBUG : #16 pc
000c9bce /data/app/~~rMrkpKmVPaBpM5jKb8fPAg==/com.microsoft.maui-JfRo8RWSDJaNtJuBa0y7_Q==/lib/x86/libmonosgen-2.0.so (mono_reflection_get_type_with_rootimage+126) (BuildId:
b67e93dd750dafdd6f65f408b021b6a3a74868ac)
05-14 08:06:12.849 31274 31274 F DEBUG : #17 pc
000ca204 /data/app/~~rMrkpKmVPaBpM5jKb8fPAg==/com.microsoft.maui-JfRo8RWSDJaNtJuBa0y7_Q==/lib/x86/libmonosgen-2.0.so (_mono_reflection_get_type_from_info+292) (BuildId:
b67e93dd750dafdd6f65f408b021b6a3a74868ac)
05-14 08:06:12.849 31274 31274 F DEBUG : #18 pc
000ca06e /data/app/~~rMrkpKmVPaBpM5jKb8fPAg==/com.microsoft.maui-JfRo8RWSDJaNtJuBa0y7_Q==/lib/x86/libmonosgen-2.0.so (mono_reflection_type_from_name_checked+334) (BuildId:
b67e93dd750dafdd6f65f408b021b6a3a74868ac)
05-14 08:06:12.849 31274 31274 F DEBUG : #19 pc
000c9f01 /data/app/~~rMrkpKmVPaBpM5jKb8fPAg==/com.microsoft.maui-JfRo8RWSDJaNtJuBa0y7_Q==/lib/x86/libmonosgen-2.0.so (mono_reflection_type_from_name+49) (BuildId:
b67e93dd750dafdd6f65f408b021b6a3a74868ac)
05-14 08:06:12.849 31274 31274 F DEBUG : #20 pc
0001b40b /data/app/~~rMrkpKmVPaBpM5jKb8fPAg==/com.microsoft.maui-JfRo8RWSDJaNtJuBa0y7_Q==/lib/x86/libmonodroid.so (xamarin::android::internal::EmbeddedAssemblies::typemap_java_to_managed(char const*)+427) (BuildId:
9726f32ad5f8fa5e7c5762baf2f6e3294da41cc1)
05-14 08:06:12.849 31274 31274 F DEBUG : #21 pc
0001b551 /data/app/~~rMrkpKmVPaBpM5jKb8fPAg==/com.microsoft.maui-JfRo8RWSDJaNtJuBa0y7_Q==/lib/x86/libmonodroid.so (xamarin::android::internal::EmbeddedAssemblies::typemap_java_to_managed(_MonoString*)+113) (BuildId:
9726f32ad5f8fa5e7c5762baf2f6e3294da41cc1)
05-14 08:06:12.849 31274 31274 F DEBUG : #22 pc
000211a7 /data/app/~~rMrkpKmVPaBpM5jKb8fPAg==/com.microsoft.maui-JfRo8RWSDJaNtJuBa0y7_Q==/lib/x86/libmonodroid.so (xamarin::android::internal::MonodroidRuntime::typemap_java_to_managed(_MonoString*)+39) (BuildId:
9726f32ad5f8fa5e7c5762baf2f6e3294da41cc1)
```
Alexander Köplinger [Tue, 18 May 2021 12:05:38 +0000 (14:05 +0200)]
Cleanup eglib config handling on Windows (#52855)
We were using a hardcoded checked-in version of the config file on Windows, replace it with the CMake-generated one.
Zoltan Varga [Tue, 18 May 2021 11:19:51 +0000 (07:19 -0400)]
[mono][aot] Fix --full-aot-interp support on amd64. (#52861)
We need to generate more trampolines since a lot of runtime code generates
trampolines even in --full-aot-interp mode.
Fixes https://github.com/dotnet/runtime/pull/52848.
Tanner Gooding [Tue, 18 May 2021 10:33:52 +0000 (03:33 -0700)]
Port SIMDIntrinsicGetItem and SIMDIntrinsicSetItem to be implemented via HWIntrinsics (#52288)
* Port SIMDIntrinsicGetItem and SIMDIntrinsicSetItem to be implemented using SimdAsHWIntrinsic
* Apply suggestions from code review
Co-authored-by: Egor Chesakov <Egor.Chesakov@microsoft.com>
* Resolving mismerge
* Added a comment explaining why we sometimes return and sometimes do containment checks
* Update src/coreclr/jit/lsraarm64.cpp
Co-authored-by: Egor Chesakov <Egor.Chesakov@microsoft.com>
Co-authored-by: Egor Chesakov <Egor.Chesakov@microsoft.com>
dotnet-maestro[bot] [Tue, 18 May 2021 10:14:09 +0000 (10:14 +0000)]
[main] Update dependencies from dotnet/arcade dotnet/runtime dotnet/hotreload-utils dotnet/xharness (#52757)
[main] Update dependencies from dotnet/arcade dotnet/runtime dotnet/hotreload-utils dotnet/xharness
- Merge branch 'main' into darc-main-
317b66dc-7ef9-4236-b9c5-
988c4d1fe4bd
- Update Versions.props
- Update Versions.props
James Newton-King [Tue, 18 May 2021 08:58:59 +0000 (20:58 +1200)]
WinHttpHandler: Add support for bidirectional streaming (#51094)
Adam Sitnik [Tue, 18 May 2021 07:52:03 +0000 (09:52 +0200)]
Allow to specify file preallocation size (#51111)
Co-authored-by: Carlos Sanchez <1175054+carlossanlop@users.noreply.github.com>
Co-authored-by: David Cantú <dacantu@microsoft.com>
Aaron Robinson [Tue, 18 May 2021 06:59:13 +0000 (23:59 -0700)]
Revert "Faster unsigned division by constants (#49585)" (#52885)
This reverts commit
e4b4807e2fae2164d9116fbcdd49ba9044461e7e.
Elinor Fung [Tue, 18 May 2021 05:04:12 +0000 (22:04 -0700)]
Conditionally run CallSitesAreUniquePerServiceTypeAndSlot test based on threading support (#52881)
Pent Ploompuu [Tue, 18 May 2021 03:06:50 +0000 (06:06 +0300)]
Faster unsigned division by constants (#49585)
* Faster unsigned division by constants
* Fix Arm build and add some tests.
* Improve register allocation
* Fix ARM64 codegen
* Fix MULHI flags
* Remove ARM32 codegen
* Widen 32bit UDIV to 64bit MULHI when possible. Improve register allocation.
* Always widen 32bit UDIV to 64bit MUL/MULHI
* Cleanup
* Final optimization
* Fix typo
Elinor Fung [Tue, 18 May 2021 01:17:23 +0000 (18:17 -0700)]
Stop including some unused files for p/invokes (#52865)
David Wrighton [Tue, 18 May 2021 00:51:40 +0000 (17:51 -0700)]
Add support in Reflection.Emit and GetInterfaceMap for static virtual methods (#52871)
- Remove logic in MethodBuild that disallows static abstract methods
- Add support in interface map for finding static virtuals, and enumerating them
- Add tests
dotnet-maestro[bot] [Tue, 18 May 2021 00:49:50 +0000 (17:49 -0700)]
[main] Update dependencies from dnceng/internal/dotnet-optimization (#52678)
* Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimization build
20210512.4
optimization.linux-x64.MIBC.Runtime , optimization.windows_nt-x64.MIBC.Runtime , optimization.windows_nt-x86.MIBC.Runtime , optimization.PGO.CoreCLR
From Version 1.0.0-prerelease.21255.6 -> To Version 1.0.0-prerelease.21262.4
* Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimization build
20210513.4
optimization.linux-x64.MIBC.Runtime , optimization.windows_nt-x64.MIBC.Runtime , optimization.windows_nt-x86.MIBC.Runtime , optimization.PGO.CoreCLR
From Version 1.0.0-prerelease.21255.6 -> To Version 1.0.0-prerelease.21263.4
* Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimization build
20210514.6
optimization.linux-x64.MIBC.Runtime , optimization.windows_nt-x64.MIBC.Runtime , optimization.windows_nt-x86.MIBC.Runtime , optimization.PGO.CoreCLR
From Version 1.0.0-prerelease.21255.6 -> To Version 1.0.0-prerelease.21264.6
* Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimization build
20210515.5
optimization.linux-x64.MIBC.Runtime , optimization.windows_nt-x64.MIBC.Runtime , optimization.windows_nt-x86.MIBC.Runtime , optimization.PGO.CoreCLR
From Version 1.0.0-prerelease.21255.6 -> To Version 1.0.0-prerelease.21265.5
* Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimization build
20210516.3
optimization.linux-x64.MIBC.Runtime , optimization.windows_nt-x64.MIBC.Runtime , optimization.windows_nt-x86.MIBC.Runtime , optimization.PGO.CoreCLR
From Version 1.0.0-prerelease.21255.6 -> To Version 1.0.0-prerelease.21266.3
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Omair Majid [Tue, 18 May 2021 00:45:50 +0000 (20:45 -0400)]
Always call CloseHandle in AsmMan::EmitManifest (#50372)
Unless it's an ERROR_INVALID_HANDLE.
Otherwise, we can leak the file handle.
Layomi Akinrinade [Mon, 17 May 2021 22:18:16 +0000 (15:18 -0700)]
Make JsonTypeInfo.ObjectType internal (#52850)
Andy Ayers [Mon, 17 May 2021 22:14:11 +0000 (15:14 -0700)]
Fix logic error in PGO schema comparison (#52822)
* Fix logic error in PGO schema comparison
* Revert "Fix logic error in PGO schema comparison"
This reverts commit
a3a977c4be10e545774d371642c87693f2989414.
* Fix merging of edge counts
Co-authored-by: Jakob Botsch Nielsen <jakob.botsch.nielsen@gmail.com>
Jakob Botsch Nielsen [Mon, 17 May 2021 21:51:34 +0000 (23:51 +0200)]
Add SPGO support and MIBC comparison in dotnet-pgo (#52765)
This allows dotnet-pgo to generate .mibc files using the sample data
stored in the trace that it is processing. It implements support for
both last branch record (LBR) data and normal IP samples. The latter can
be produced using PerfView as normal while the former currently requires
using xperf with LBR mode enabled. For posterity, to enable both logging
required .NET events and LBR, the following commands can be used (on
Windows):
```
xperf.exe -start "NT Kernel Logger" -on LOADER+PROC_THREAD+PMC_PROFILE -MinBuffers 4096 -MaxBuffers 4096 -BufferSize 4096 -pmcprofile BranchInstructionRetired -LastBranch PmcInterrupt -setProfInt BranchInstructionRetired 65537 -start clr -on
e13c0d23-ccbc-4e12-931b-
d9cc2eee27e4:0x40000A0018:0x5 -MinBuffers 4096 -MaxBuffers 4096 -BufferSize 4096
scenario.exe
xperf.exe -stop "NT Kernel Logger" -stop clr -d xperftrace.etl
```
SPGO does not currently do well with optimized code as the mapping
IP<->IL mappings the JIT produces there are not sufficiently accurate.
To collect data in tier-0 one can enable two environment variables
before running the scenario:
```
$env:COMPlus_TC_QuickJitForLoops=1
$env:COMPlus_TC_CallCounting=0
```
When samples are used the associated counts will not typically look
valid, i.e. they won't satisfy flow conservation. To remedy this,
dotnet-pgo performs a smoothing step after assigning samples to the
flow-graph of each method. The smoothing is based on [1] and the code
comes from Midori.
The commit adds some new commands to dotnet-pgo. The --spgo flag can be
specified to create-mibc to use samples to create the .mibc file. Also,
even if --spgo is specified, instrumented data will still be preferred
if available in the trace. If spgo is not specified, the behavior should
be the same as before.
--spgo-with-block-counts and --spgo-with-edge-counts control whether
dotnet-pgo outputs the smoothed block or edge counts (or both). By
default block counts are output. The JIT can use both forms of counts
but will be most happy if only one kind is present for each method.
--spgo-min-samples controls how many samples must be in each method
before smoothing is applied and the result included in the .mibc. SPGO
is quite sensitive to low sample counts and the produced results are not
good when the number of samples is low. By default, this value is 50.
The commit also adds a new compare-mibc command that allows to compare
two .mibc files. Usage is dotnet-pgo compare-mibc --input file1.mibc
--input file2.mibc. For example, comparing a .mibc produced via
instrumentation and one produced via SPGO (in tier-0) for some JIT
benchmarks produces the following:
```
Comparing instrumented.mibc to spgo.mibc
Statistics for instrumented.mibc
# Methods: 3490
# Methods with any profile data: 865
# Methods with 32-bit block counts: 0
# Methods with 64-bit block counts: 865
# Methods with 32-bit edge counts: 0
# Methods with 64-bit edge counts: 0
# Methods with type handle histograms: 184
# Methods with GetLikelyClass data: 0
# Profiled methods in instrumented.mibc not in spgo.mibc: 652
Statistics for spgo.mibc
# Methods: 1107
# Methods with any profile data: 286
# Methods with 32-bit block counts: 286
# Methods with 64-bit block counts: 0
# Methods with 32-bit edge counts: 0
# Methods with 64-bit edge counts: 0
# Methods with type handle histograms: 0
# Methods with GetLikelyClass data: 0
# Profiled methods in spgo.mibc not in instrumented.mibc: 73
Comparison
# Methods with profile data in both .mibc files: 213
Of these, 213 have matching flow-graphs and the remaining 0 do not
When comparing the flow-graphs of the matching methods, their overlaps break down as follows:
100% █ (1.9%)
>95% █████████████████████████████████▌ (61.0%)
>90% ████████ (14.6%)
>85% ████▏ (7.5%)
>80% ████▋ (8.5%)
>75% █▊ (3.3%)
>70% █ (1.9%)
>65% ▎ (0.5%)
>60% ▎ (0.5%)
>55% ▏ (0.0%)
>50% ▏ (0.0%)
>45% ▏ (0.0%)
>40% ▎ (0.5%)
>35% ▏ (0.0%)
>30% ▏ (0.0%)
>25% ▏ (0.0%)
>20% ▏ (0.0%)
>15% ▏ (0.0%)
>10% ▏ (0.0%)
> 5% ▏ (0.0%)
> 0% ▏ (0.0%)
(using block counts)
```
I also made the dump command print some statistics about the .mibc that
was dumped. Hopefully some of this tooling can help track down #51908.
[1] Levin R., Newman I., Haber G. (2008) Complementing Missing and
Inaccurate Profiling Using a Minimum Cost Circulation Algorithm. In:
Stenström P., Dubois M., Katevenis M., Gupta R., Ungerer T. (eds) High
Performance Embedded Architectures and Compilers. HiPEAC 2008. Lecture
Notes in Computer Science, vol 4917. Springer, Berlin, Heidelberg.
https://doi.org/10.1007/978-3-540-77560-7_20
Juan Hoyos [Mon, 17 May 2021 20:40:01 +0000 (13:40 -0700)]
SingleFile diagnostic support - Add export table and DotNetRuntimeInfo to dumps (#52731)
* DACize PEDecoder::GetExport
* Ensure export table and runtimeinfo export are always present in a minidump
Mitchell Hwang [Mon, 17 May 2021 18:42:59 +0000 (14:42 -0400)]
[libraries][MacCatalyst] Update MacCatalyst min required CMake version (#52847)
Co-authored-by: Mitchell Hwang <mitchell.hwang@microsoft.com>
Ulrich Weigand [Mon, 17 May 2021 18:10:48 +0000 (20:10 +0200)]
Build support for s390x: libraries (#52842)
Adds cmake and proj entries to support building for s390x.
Manish Godse [Mon, 17 May 2021 17:39:38 +0000 (10:39 -0700)]
enable regions by default in standalone gc (#52716)
* enable regions by default in standalone gc
* fix linux build break
* fix gcc build break.
* Missed one more build break for gcc
* CR Feedback.
Buyaa Namnan [Mon, 17 May 2021 16:51:22 +0000 (09:51 -0700)]
Use Platform-Guard Assertion Annotations for some known cases (#52689)
* Use platform guard attributes
Ulrich Weigand [Mon, 17 May 2021 16:23:07 +0000 (18:23 +0200)]
Build support for s390x: mono runtime (#52841)
Adds cmake and proj entries to support building for s390x.
Includes a bug fix to CMakeLists.txt where IS_BIG_ENDIAN
was used before it was defined, causing failures on big-
endian platforms.
Egor Bogatov [Mon, 17 May 2021 13:46:08 +0000 (16:46 +0300)]
follow up to https://github.com/dotnet/runtime/pull/52524 (#52714)
Egor Bogatov [Mon, 17 May 2021 13:27:12 +0000 (16:27 +0300)]
JIT: Fix asserts in fgSplitBlockAfterStatement and fgCheckStmtAfterTailCall (GDV-related) (#52274)
Tom Deseyn [Mon, 17 May 2021 12:48:52 +0000 (14:48 +0200)]
TcpReceiveSendGetsCanceledByDispose: fix test timing out with latest RHEL7 kernel (#52833)
The timeout on this test is less than the accumulated delay on retries,
which causes the test to timeout on a RHEL7 system that has the kernel bug fixed.
Dave Senn [Mon, 17 May 2021 12:38:13 +0000 (14:38 +0200)]
Removing duplicated "and" (#52826)
Minor change to "fix" that sentence... not really an issue but it makes more sense like this
Ulrich Weigand [Mon, 17 May 2021 08:48:40 +0000 (10:48 +0200)]
[mono] Add thunking to s390x for calls that will be patched (#52783)
Merge https://github.com/mono/mono/pull/21052 into dotnet runtime.
This fixes sporadic crashes due to code being patched non-atomically.
Vlad Brezae [Mon, 17 May 2021 08:45:45 +0000 (11:45 +0300)]
[interp] Pass correct argument to MINT_STOBJ_VT (#52752)
When emitting it as part of thread static store.
Tanner Gooding [Mon, 17 May 2021 04:51:12 +0000 (21:51 -0700)]
Refactor codegen and emit to centralize `mov reg, reg` handling (#52661)
* Refactor codegen and emit to centralize `mov reg, reg` handling
* Responding to PR feedback
Zoltan Varga [Sat, 15 May 2021 23:36:07 +0000 (19:36 -0400)]
[mono] Fix full aot compilation on android+x86. (#52816)
Fixes https://github.com/dotnet/runtime/issues/50493.
David Wrighton [Sat, 15 May 2021 21:00:36 +0000 (14:00 -0700)]
Fix references to MDArray methods (#52796)
dotnet-maestro[bot] [Sat, 15 May 2021 21:00:17 +0000 (14:00 -0700)]
Update dependencies from https://github.com/mono/linker build
20210514.1 (#52806)
Microsoft.NET.ILLink.Tasks
From Version 6.0.100-preview.5.21263.3 -> To Version 6.0.100-preview.5.21264.1
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Marek Safar [Sat, 15 May 2021 20:59:56 +0000 (22:59 +0200)]
Better formatting for parameters signature with no name (#52804)
It also allows distinguishing between empty and null name
Lakshan Fernando [Sat, 15 May 2021 20:26:10 +0000 (13:26 -0700)]
Native host warnings fix (#52109)
* Native host warnings fix
Native host warnings fix
* Feedback
* Update docs/design/features/IJW-activation.md
Co-authored-by: Vitek Karas <vitek.karas@microsoft.com>
* Update src/coreclr/System.Private.CoreLib/src/ILLink/ILLink.Descriptors.xml
Co-authored-by: Vitek Karas <vitek.karas@microsoft.com>
* Update src/coreclr/System.Private.CoreLib/src/ILLink/ILLink.Descriptors.xml
Co-authored-by: Vitek Karas <vitek.karas@microsoft.com>
* Update docs/workflow/trimming/feature-switches.md
Co-authored-by: Vitek Karas <vitek.karas@microsoft.com>
* fixing the native host feature settings
* feedback on error code
* fb
* FB
* merge conflict
Co-authored-by: Vitek Karas <vitek.karas@microsoft.com>
dotnet-maestro[bot] [Sat, 15 May 2021 09:44:51 +0000 (09:44 +0000)]
[main] Update dependencies from mono/linker (#52497)
[main] Update dependencies from mono/linker
- Throw ANE with actual parameter name and not null value
- Fixes test checking wrong parameter name
- Add explicit dependendecy to constructors which could be trimmed
Tarek Mahmoud Sayed [Sat, 15 May 2021 06:53:47 +0000 (23:53 -0700)]
Introducing Metrics APIs (#52685)
Elinor Fung [Sat, 15 May 2021 03:14:17 +0000 (20:14 -0700)]
Make SuppressGCTransition tests explicitly check GC mode on checked/debug coreclr (#52713)
* Add hook for explicitly checking GC mode for testing (Checked/Debug only)
* Make SuppressGCTransition tests explicitly check GC mode when possible
* Move SuppressGCTransition tests out of PInvoke/Attributes subdirectories
* Update paths in issues.targets
Gleb Balykov [Fri, 14 May 2021 23:36:23 +0000 (02:36 +0300)]
Add --inputbubbleref option to crossgen2 in order to put only part of references into version bubble (#51555)
Jo Shields [Fri, 14 May 2021 22:47:16 +0000 (18:47 -0400)]
Force build failure if AOT compiler is missing, and avoid bad path (#52784)
An error in paths was introduced last week. Work around that, and make it a fatal build failure if the AOT compiler is missing in future to catch this faster
Tomáš Rylek [Fri, 14 May 2021 22:14:06 +0000 (00:14 +0200)]
ECMA spec addendum dealing with static interface methods (#49558)
Co-authored-by: David Wrighton <davidwr@microsoft.com>
Co-authored-by: Aleksey Tsingauz <alekseyt@microsoft.com>
Co-authored-by: Fred Silberberg <fred@silberberg.xyz>
Bruce Forstall [Fri, 14 May 2021 22:13:56 +0000 (15:13 -0700)]
Fix cmake warning (#52788)
Fix this:
```
CMake Warning (dev) in crosscomponents.cmake:
A logical block opening on the line
C:/gh/runtime4/src/coreclr/crosscomponents.cmake:24 (if)
closes on the line
C:/gh/runtime4/src/coreclr/crosscomponents.cmake:36 (endif)
with mis-matching arguments.
Call Stack (most recent call first):
CMakeLists.txt:254 (include)
This warning is for project developers. Use -Wno-dev to suppress it.
```
David Wrighton [Fri, 14 May 2021 22:09:13 +0000 (15:09 -0700)]
Add VirtualStaticsInInterfaces flag to RuntimeFeature (#52733)
* Add RuntimeFeature indicating support for static virtual methods in the runtime
* Mark it with the preview flag
Tomáš Rylek [Fri, 14 May 2021 22:05:16 +0000 (00:05 +0200)]
Runtime support for static virtual interface methods (#52173)
This change implements initial CoreCLR runtime support for static virtual interface methods and adds over 1700 test cases covering various aspects of this new runtime feature.
1) In the JIT, we are relaxing the assumption that ".constrained" must be always followed by a "callvirt" by allowing two more IL instructions to be constrained, "call" and "ldftn".
2) In the JIT interface, we're adding bits of code to CEEInfo::getCallInfo to properly handle the new static virtual methods. We're extending constrained method resolution to cater for the static virtual method case in a new method "ResolveStaticVirtualMethod".
3) In our work on the implementation we found a pre-existing JIT interface issue - the interplay between getCallInfo and embedGenericHandle doesn't work well in case of constrained calls as the existing API surface doesn't provide any means for communicating compile-time resolution of the constraint from getCallInfo to embedGenericHandle. In this change we're working around this by deferring to runtime resolution of the constraint in the presence of shared generics.
4) In the method table builder, we're newly tracking a flag saying whether we're implementing an interface declaring static virtual methods (fHasVirtualStaticMethods) that is used to speed up the runtime checks by skipping irrelevant interfaces.
5) For Crossgen / Crossgen2, this change only adds minimalistic support in the form of bailing out in getCallInfo whenever we hit a call to a static virtual method, cancelling AOT compilation of the caller and deferring it to runtime JIT.
Bruce Forstall [Fri, 14 May 2021 22:04:40 +0000 (15:04 -0700)]
Improve flow graph DOT dumps (#52787)
1. Introduce `COMPlus_JitFgDumpPrePhase`. This is analogous to the existing
`COMPlus_JitFgDumpPhase`, but to dump before a phase, not after. It takes a
set of short phase names, and dumps the flow graph before each of those phases.
E.g., to dump both before and after just loop cloning, you don't need to figure
out which phase comes before loop cloning, you can specify:
```
set COMPlus_JitDumpFgPhase=LP-CLONE
set COMPlus_JitDumpFgPrePhase=LP-CLONE
```
2. Interpret array length node type in BBJ_COND blocks, e.g., `V01.Length <= V03`.
Bruce Forstall [Fri, 14 May 2021 22:03:21 +0000 (15:03 -0700)]
Remove unused Compiler::optFindLoopNumberFromBeginBlock() (#52786)
Adam Sitnik [Fri, 14 May 2021 21:52:10 +0000 (23:52 +0200)]
hide Obsolete FileStream ctors (#52587)
Zoltan Varga [Fri, 14 May 2021 20:19:57 +0000 (16:19 -0400)]
[mono][aot] Fix an assertion. (#52762)
Fixes https://github.com/dotnet/runtime/issues/52736.
Geoff Kizer [Fri, 14 May 2021 18:17:59 +0000 (11:17 -0700)]
remove APM infrastructure code that's no longer needed (#52711)
Co-authored-by: Geoffrey Kizer <geoffrek@windows.microsoft.com>
Kunal Pathak [Fri, 14 May 2021 18:08:09 +0000 (23:38 +0530)]
Make superpmi.py work for python3.8 (#52778)
Vlad Brezae [Fri, 14 May 2021 17:46:38 +0000 (20:46 +0300)]
[interp] Squash multiple call args moves into single opcode (#52242)
* [interp] Replace multiplication and division by 1 with simple mov
* [interp] Skip emitting redundant branch to next basic block
* [interp] Squash multiple call args moves into single opcode
Some vars cannot be used directly as an argument to another call. In this case, the var offset allocator generates new intermediary vars. For methods with a lot of parameters, we can end up with quite a lot of these stores.
As an example, for the following method:
```
public static void MethodPartial (int a, int b, object c, object d)
{
MethodFull (a, b, c, d, 12523);
}
```
Before:
```
IR_0000: ldc.i8 [72 <- nil], 12523
IR_0006: mov.4 [40 <- 0],
IR_0009: mov.4 [48 <- 8],
IR_000c: mov.8 [56 <- 16],
IR_000f: mov.8 [64 <- 24],
IR_0012: call [32 <- 40], 0
IR_0016: ret.void [nil <- nil],
```
After:
```
IR_0000: ldc.i8 [72 <- nil], 12523
IR_0006: mov.8.4 [nil <- nil], 40 <- 0, 48 <- 8, 56 <- 16, 64 <- 24
IR_000f: call [32 <- 40], 0
IR_0013: ret.void [nil <- nil]
```
Eric StJohn [Fri, 14 May 2021 17:06:41 +0000 (10:06 -0700)]
Add Analyzer packaging support and packaging documentation (#52554)
* Add Analyzer packaging support and packaging documentation
To package Microsoft.Extensions.Logging.Abstractions we needed support
for packing an Analyzer. This adds that support.
I wanted to document this addition, so I created the start of a doc that's
meant to describe the packaging options for libraries in dotnet/runtime.
* Address code review feedback.
* More feedback
* Address more feedback
* Remove src.proj build of generators
* Update to use Microsoft.DotNet.PackageTesting
* Fix typos
* Fix package testing on net46*
Jose Perez Rodriguez [Fri, 14 May 2021 16:10:50 +0000 (09:10 -0700)]
Resolve ILLink warnings in Microsoft.Extensions.Logging.EventSource (#52656)
* Resolve ILLink warnings in Microsoft.Extensions.Logging.EventSource
* Add nullable enable to attribute files
Tammy Qiu [Fri, 14 May 2021 16:04:48 +0000 (12:04 -0400)]
[Android] Rename System.Security.Cryptography.Native.OpenSsl on Android (#52406)
* Rename System.Security.Cryptography.Native.OpenSsl to System.Security.Cryptography.Native.Android on Android and split remaining shared Interop files.
Vitek Karas [Fri, 14 May 2021 08:59:41 +0000 (10:59 +0200)]
Annotate Type.GetInterfaceMap to guarantee trim compatibility. (#52697)
Zoltan Varga [Fri, 14 May 2021 08:28:59 +0000 (04:28 -0400)]
[mono] Fix https://github.com/dotnet/runtime/issues/52718. (#52724)
Aaron Robinson [Fri, 14 May 2021 07:47:11 +0000 (00:47 -0700)]
Prepare the COM apartment and context at a safe time during thread start up. (#52745)
Anton Lapounov [Fri, 14 May 2021 03:23:33 +0000 (20:23 -0700)]
Respect Windows job object's CPU quota (#52690)
Mike McLaughlin [Fri, 14 May 2021 02:38:12 +0000 (19:38 -0700)]
Fix single-file unhandled exception source/line info (#52725)
Issues:
https://github.com/dotnet/runtime/issues/51461
https://github.com/dotnet/runtime/issues/11261
https://github.com/dotnet/runtime/issues/18423
Kunal Pathak [Fri, 14 May 2021 00:41:47 +0000 (06:11 +0530)]
Add clrjit.natvis file (#52668)
* Add clrjit.natvis file
* Review comments
* pass /NATVIS flag to linker
* Include clrjit.natvis only for windows
* Update src/coreclr/jit/CMakeLists.txt
Co-authored-by: Jeremy Koritzinsky <jkoritzinsky@gmail.com>
* Add the missing review comment
* minor typo
Co-authored-by: Jeremy Koritzinsky <jkoritzinsky@gmail.com>
David Wrighton [Fri, 14 May 2021 00:39:04 +0000 (17:39 -0700)]
Move copy of Crossgen2 tasks/targets to runtime repo and build composite image for runtime repo in parallel path (#52579)
* Move all crossgen2 tasks/targets used in Runtime repo to be local to the repo
* Move ResolveReadyToRunCompilers task into the Crossgen2Tasks dll
* Create composite bundle and package
- Note that it doesn't build properly, but hopefully that's a crossgen2 task bug
* Composite image production
* Refactor how composite image creation works
- Move it to allow mixed composite and non-composite r2r in the same build, controlled by the PublishReadyToRunCompositeExclusions list
- Enhance the accuracy of how msbuild tracks which files are input vs reference for composite images
- Implement the R2R exclusion list for composite images
- Remove the always on usage of --inputbubble when compiling a composite image
* - Add a scheme to perform public signing with a PublicKeyToken to a composite of the composite image if required
- Required adding a new parameter to crossgen2
Gleb Balykov [Fri, 14 May 2021 00:16:08 +0000 (03:16 +0300)]
Multicorejit unification (#48326)
* Unify simple and generic methods in multicorejit
* Disable NDirect methods in MulticoreJit
Current multicorejit implementation in master has multiple flaws with NDirect methods:
- exception might be thrown inside GetStubForInteropMethod at some point for NDirect method, which will kill background thread, thus, reducing effectiveness of multicorejit (for example, occurs when multicorejit is used with crossgen2)
- some NDirect methods can lead to asserts during load inside GetStubForInteropMethod (for example, EvpMdCtxDestroy (0x6000044 token) from System.Security.Cryptography.Algorithms.dll)
* Add MultiCoreJitMinNumCpus env variable with default value =2 to configure minimum allowed number of cpus for MultiCoreJit.
On arm with cpu hotplug it should be set to 1.
* Do not save overall record length for methods
This change reduces mcj profile size
* Store non-generic methods using token instead of signatures
This change reduces mcj profile size
David Mason [Thu, 13 May 2021 23:59:30 +0000 (16:59 -0700)]
Add diagnostics IPC set environment variable command (#52567)
İlkay İlknur [Thu, 13 May 2021 23:57:00 +0000 (02:57 +0300)]
Add IServiceScopeFactory.CreateAsyncScope (#52719)
* CreateAsyncScope extension method added for IServiceScopeFactory
* add CreateAsyncScope extension method for IServiceScopeFactory
* test added for IServiceScopeFactory.CreateAsyncScope
Pavel Savara [Thu, 13 May 2021 22:45:53 +0000 (00:45 +0200)]
Refresh network tests server code to Kestrel (#52642)
* copy from https://github.com/davidsh/corefx-net-endpoint/commit/
999f8356816be739ec65dae5a1a89782b3936a66
* license headers
* missing md5 test
* issue for missing functionality
Bruce Forstall [Thu, 13 May 2021 22:11:30 +0000 (15:11 -0700)]
Fix mcs merge error for missing pattern (#52715)
1. Print the Unicode pattern properly
2. Return an error code
Jose Perez Rodriguez [Thu, 13 May 2021 21:51:35 +0000 (14:51 -0700)]
Resolve ILLink Warnings on Microsoft.Extensions.Http (#52658)
* Resolve ILLink Warnings on Microsoft.Extensions.Http
Maryam Ariyan [Thu, 13 May 2021 21:46:09 +0000 (17:46 -0400)]
Improve logging source generator error messages (#52684)
Filip Navara [Thu, 13 May 2021 20:47:42 +0000 (22:47 +0200)]
Use same logic on iOS and macOS for dual-mode sockets in Ping (#52619)
* Use same logic on iOS and macOS for dual-mode sockets in Ping
* Address feedback
dotnet-maestro[bot] [Thu, 13 May 2021 20:43:31 +0000 (13:43 -0700)]
[main] Update dependencies from 7 repositories (#52440)
* Update dependencies from https://github.com/dotnet/arcade build
20210506.13
Microsoft.DotNet.XUnitExtensions , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.ApiCompat , Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.GenFacades , Microsoft.DotNet.GenAPI , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.PackageValidation , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.SharedFramework.Sdk
From Version 6.0.0-beta.21256.1 -> To Version 6.0.0-beta.21256.13
* Update dependencies from https://github.com/dotnet/xharness build
20210507.1
Microsoft.DotNet.XHarness.CLI , Microsoft.DotNet.XHarness.TestRunners.Xunit
From Version 1.0.0-prerelease.21255.1 -> To Version 1.0.0-prerelease.21257.1
* Update dependencies from https://github.com/dotnet/llvm-project build
20210506.1
runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.osx.10.12-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.osx.10.12-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools
From Version 9.0.1-alpha.1.21253.1 -> To Version 9.0.1-alpha.1.21256.1
* Update dependencies from https://github.com/dotnet/arcade build
20210507.5
Microsoft.DotNet.XUnitExtensions , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.ApiCompat , Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.GenFacades , Microsoft.DotNet.GenAPI , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.PackageValidation , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.SharedFramework.Sdk
From Version 6.0.0-beta.21256.1 -> To Version 6.0.0-beta.21257.5
* Update dependencies from https://github.com/dotnet/xharness build
20210507.2
Microsoft.DotNet.XHarness.CLI , Microsoft.DotNet.XHarness.TestRunners.Xunit
From Version 1.0.0-prerelease.21255.1 -> To Version 1.0.0-prerelease.21257.2
* Update dependencies from https://github.com/dotnet/runtime-assets build
20210507.1
System.ComponentModel.TypeConverter.TestData , System.Drawing.Common.TestData , System.IO.Compression.TestData , System.IO.Packaging.TestData , System.Net.TestData , System.Private.Runtime.UnicodeData , System.Runtime.TimeZoneData , System.Security.Cryptography.X509Certificates.TestData , System.Windows.Extensions.TestData
From Version 6.0.0-beta.21230.1 -> To Version 6.0.0-beta.21257.1
* Update dependencies from https://github.com/dotnet/runtime build
20210510.1
Microsoft.NETCore.ILAsm , Microsoft.NETCore.DotNetHostPolicy , Microsoft.NETCore.DotNetHost , runtime.native.System.IO.Ports , Microsoft.NET.Sdk.IL , System.Runtime.CompilerServices.Unsafe , System.Text.Json
From Version 6.0.0-preview.5.21253.1 -> To Version 6.0.0-preview.5.21260.1
* Update dependencies from https://github.com/dotnet/arcade build
20210510.1
Microsoft.DotNet.XUnitExtensions , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.ApiCompat , Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.GenFacades , Microsoft.DotNet.GenAPI , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.PackageValidation , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.SharedFramework.Sdk
From Version 6.0.0-beta.21256.1 -> To Version 6.0.0-beta.21260.1
* Update dependencies from https://github.com/dotnet/icu build
20210510.1
Microsoft.NETCore.Runtime.ICU.Transport
From Version 6.0.0-preview.5.21253.1 -> To Version 6.0.0-preview.5.21260.1
* Update dependencies from https://github.com/dotnet/xharness build
20210510.1
Microsoft.DotNet.XHarness.CLI , Microsoft.DotNet.XHarness.TestRunners.Xunit
From Version 1.0.0-prerelease.21255.1 -> To Version 1.0.0-prerelease.21260.1
* Update dependencies from https://github.com/dotnet/llvm-project build
20210510.1
runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.osx.10.12-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.osx.10.12-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools
From Version 9.0.1-alpha.1.21253.1 -> To Version 9.0.1-alpha.1.21260.1
* Update dependencies from https://github.com/dotnet/runtime-assets build
20210510.1
System.ComponentModel.TypeConverter.TestData , System.Drawing.Common.TestData , System.IO.Compression.TestData , System.IO.Packaging.TestData , System.Net.TestData , System.Private.Runtime.UnicodeData , System.Runtime.TimeZoneData , System.Security.Cryptography.X509Certificates.TestData , System.Windows.Extensions.TestData
From Version 6.0.0-beta.21230.1 -> To Version 6.0.0-beta.21260.1
* Update dependencies from https://github.com/dotnet/hotreload-utils build
20210510.2
Microsoft.DotNet.HotReload.Utils.Generator.BuildTool
From Version 1.0.1-alpha.0.21257.1 -> To Version 1.0.1-alpha.0.21260.2
* Update dependencies from https://github.com/dotnet/arcade build
20210511.6
Microsoft.DotNet.XUnitExtensions , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.ApiCompat , Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.GenFacades , Microsoft.DotNet.GenAPI , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.SharedFramework.Sdk
From Version 6.0.0-beta.21256.1 -> To Version 6.0.0-beta.21261.6
* Update dependencies from https://github.com/dotnet/xharness build
20210511.1
Microsoft.DotNet.XHarness.CLI , Microsoft.DotNet.XHarness.TestRunners.Xunit
From Version 1.0.0-prerelease.21260.1 -> To Version 1.0.0-prerelease.21261.1
* Update dependencies from https://github.com/dotnet/hotreload-utils build
20210511.2
Microsoft.DotNet.HotReload.Utils.Generator.BuildTool
From Version 1.0.1-alpha.0.21260.2 -> To Version 1.0.1-alpha.0.21261.2
* Update dependencies from https://github.com/dotnet/xharness build
20210510.1
Microsoft.DotNet.XHarness.CLI , Microsoft.DotNet.XHarness.TestRunners.Xunit
From Version 1.0.0-prerelease.21255.1 -> To Version 1.0.0-prerelease.21260.1
* Update dependencies from https://github.com/dotnet/hotreload-utils build
20210510.2
Microsoft.DotNet.HotReload.Utils.Generator.BuildTool
From Version 1.0.1-alpha.0.21257.1 -> To Version 1.0.1-alpha.0.21260.2
* Update dependencies from https://github.com/dotnet/xharness build
20210511.1
Microsoft.DotNet.XHarness.CLI , Microsoft.DotNet.XHarness.TestRunners.Xunit
From Version 1.0.0-prerelease.21260.1 -> To Version 1.0.0-prerelease.21261.1
* Update dependencies from https://github.com/dotnet/hotreload-utils build
20210511.2
Microsoft.DotNet.HotReload.Utils.Generator.BuildTool
From Version 1.0.1-alpha.0.21260.2 -> To Version 1.0.1-alpha.0.21261.2
* Fix attribute diffs
* Update dependencies from https://github.com/dotnet/arcade build
20210513.1
Microsoft.DotNet.XUnitExtensions , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.ApiCompat , Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.GenFacades , Microsoft.DotNet.GenAPI , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.SharedFramework.Sdk
From Version 6.0.0-beta.21256.1 -> To Version 6.0.0-beta.21263.1
* Update dependencies from https://github.com/dotnet/xharness build
20210513.1
Microsoft.DotNet.XHarness.CLI , Microsoft.DotNet.XHarness.TestRunners.Xunit
From Version 1.0.0-prerelease.21255.1 -> To Version 1.0.0-prerelease.21263.1
* Fix package testing on net46*
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Santiago Fernandez Madero <safern@microsoft.com>
Co-authored-by: Eric StJohn <ericstj@microsoft.com>
Steve Pfister [Thu, 13 May 2021 20:30:21 +0000 (16:30 -0400)]
Bring Android arm64 tests back into PR builds (#52709)
Kevin Jones [Thu, 13 May 2021 20:09:12 +0000 (16:09 -0400)]
Detect presence of OpenSSL for AEAD algorithms on macOS
This makes the IsSupported values for AesCcm and AesGcm return false on macOS when the
OpenSSL shim library can't find a suitable OpenSSL, and makes AesCcm/AesGcm throw an
informative exception in those cases.
Additionally it fixes the IsSupported on ChaCha/Poly to not tear down the process when
OpenSSL isn't found on macOS.
Co-authored-by: Filip Navara <filip.navara@gmail.com>
David Fowler [Thu, 13 May 2021 20:06:08 +0000 (13:06 -0700)]
Make the callsite cache more thread safe (#52691)
* Make the callsite cache more thread safe
- Previously we would create duplicate callsites and because they weren't used to for anything critical, now we're using them as a lock per type and slot and to store singleton values cheaply. This means we need to make sure they are unique. Duplicates were being created in situations where there were connected graphs and lots of concurrency because there was no lock to ensure that only a single type would be processed at a time. This change adds that lock and adds tests.
Steve Harter [Thu, 13 May 2021 20:02:48 +0000 (15:02 -0500)]
Fix trimming issue with extension data (#52673)
Jo Shields [Thu, 13 May 2021 19:39:25 +0000 (15:39 -0400)]
Add MacCatalyst functional test (#52552)
Radek Doulik [Thu, 13 May 2021 19:24:51 +0000 (21:24 +0200)]
[tests] Fix CRLF issues in SM.Syndication (#52705)
Fixes: https://github.com/dotnet/runtime/issues/52135
When running `System.ServiceModel.Syndication` tests on windows and
targeting `Browser`, the line ending differs between host and target
systems. Use helper `LineEndingsHelper.Normalize` method to update
expected strings.
The `Browser` Environment.NewLine is `\n`, while windows use `\r\n`.
https://github.com/dotnet/runtime/blob/
5bd0edfe860e41bdfd690d3743e730594307292e/src/libraries/System.Private.CoreLib/src/System/Environment.UnixOrBrowser.cs#L51
Also set `BrowserHost` property for the build as well. It is also used
in `src/libraries/tests.proj`.
Aaron Robinson [Thu, 13 May 2021 19:04:46 +0000 (12:04 -0700)]
Low level API support for Objective-C interop. (#52146)
* Add Objective-C interop support.
* Include handling of HNDTYPE_REFCOUNTED when FEATURE_OBJCMARSHAL is defined (#47534)
* Allow overriding of Objective-C message send P/Invokes (#47721)
* Add new flag to MethodTable for types with ObjectiveCTrackedTypeAttribute.
Discover attribute during type load and set bit.
Update EagerFinalizer callout to query bit.
* Add testing for API
* Bridge API for propagating managed exception to native.
* Update GCEE interface to support GCServer scenario for Objective-C.
The new callbacks now fire when before the GC scans handles and is
non-concurrent.
* Comment added for ExceptionTracker non-NULL condition.
Co-authored-by: Jeremy Koritzinsky <jekoritz@microsoft.com>
Co-authored-by: Elinor Fung <elfung@microsoft.com>
Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
Sergey Andreenko [Thu, 13 May 2021 17:02:11 +0000 (10:02 -0700)]
add support for genReg1/genReg2->SIMD8 store on x86 windows. (#52581)
* add a standart header for inst_RV_RV
* add support for EAX/EDX->SIMD8 store on x86 windows.
* fix the header.
Prashanth Govindarajan [Thu, 13 May 2021 17:01:41 +0000 (10:01 -0700)]
BinaryFormatter deprecation for System.Configuration.ConfigurationManager (#50531)
* First cut of deprecating BF usage
* Address comments
* sq
Eric Erhardt [Thu, 13 May 2021 16:34:06 +0000 (11:34 -0500)]
Move s_defaultSerializerOptions to JsonHelpers. (#52557)
This allows for JsonContent to be trimmed in a default Blazor WASM app.
Eric Erhardt [Thu, 13 May 2021 15:24:40 +0000 (10:24 -0500)]
Remove Alt-Svc parser on browser-wasm. (#52681)
Contributes to #44534
Radek Doulik [Thu, 13 May 2021 15:11:48 +0000 (17:11 +0200)]
[tests] Fix CRLF vs LF issues (#52536)
* Fixes: https://github.com/dotnet/runtime/issues/52134
When running `System.Numerics.Tensors` tests on windows and targeting
`Browser`,the line ending differs between host and target systems.
Compensate for that by using
`Assert.Equal(..., ignoreLineEndingDifferences: true)`.
Also replace the compile time new line when creating `expectedNoSpace`
string.
The `Browser` Environment.NewLine is `\n`, while windows use `\r\n`.
https://github.com/dotnet/runtime/blob/
5bd0edfe860e41bdfd690d3743e730594307292e/src/libraries/System.Private.CoreLib/src/System/Environment.UnixOrBrowser.cs#L51
* Use LineEndingsHelper, make CompiledNewline public
* Enable fixed tests
Matt Thalman [Thu, 13 May 2021 13:56:34 +0000 (08:56 -0500)]
Add section to interop guidelines about tracking dependencies (#52302)
* Add section to interop guidelines about tracking dependencies
* Set code owner
* Update wording
Kia Panahi Rad [Thu, 13 May 2021 13:26:32 +0000 (17:56 +0430)]
Fix typo (#52694)
Under "What should be in a BotR chapter" heading.
Mitchell Hwang [Thu, 13 May 2021 13:16:09 +0000 (09:16 -0400)]
Test ios tvos simulator functional tests (#52655)
* [iOS][tvOS][AOT] Run simulator AOT tests with TreatAsLocalProperty
* [tvOS] Include tvOS in MonoAOTCompiler arguments
Co-authored-by: Mitchell Hwang <mitchell.hwang@microsoft.com>
dotnet-maestro[bot] [Thu, 13 May 2021 10:20:16 +0000 (10:20 +0000)]
Update dependencies from https://github.com/dotnet/emsdk build
20210512.1 (#52657)
[main] Update dependencies from dotnet/emsdk
Peter Sollich [Thu, 13 May 2021 08:43:11 +0000 (10:43 +0200)]
Stresslog fixes (#52601)
- Make regular (non-memory-mapped file based) stresslog work for clrgc.dll
- Fix interaction issue between GC and thread filters in StressLogAnalyzer
- Interpret small numbers for COMPlus_StressLogSize and COMPlus_TotalStressLogSize as GB rather than bytes
- Increment SOS_BREAKING_CHANGE_VERSION
Miha Zupan [Thu, 13 May 2021 07:01:21 +0000 (09:01 +0200)]
Fix empty byte[] bug in EventSource (#52602)
* Fix empty byte[] bug in EventSource
* Add some non-zero data to byte[] tests
* Remove leftover usings from testing
* Return Array.Empty for empty byte[]
* Pass correct pointer to Marshal copy
Miha Zupan [Thu, 13 May 2021 06:59:20 +0000 (08:59 +0200)]
Reduce UriBuilder allocations (#51826)
* Reduce UriBuilder allocations
* Make _uri field nullable
* Add Debug.Assert(success)