platform/upstream/dotnet/runtime.git
3 years agoDead end System.ComponentModel.Annotations package (#51891)
Viktor Hofer [Tue, 27 Apr 2021 17:48:32 +0000 (19:48 +0200)]
Dead end System.ComponentModel.Annotations package (#51891)

Nearly all configurations in the System.ComponentModel.Annotations
package weren't built live anymore and just redistributed from older
packages. Except for the netstandard2.0 configuration, the package
didn't receive any changes. As the library is exposed as part of the
shared framework, a reference to the package on .NETCoreApp isn't
necessary and will be ignored by the SDK.

Based on these reasons, dead-ending the package to remove the burden
of maintaining the harvesting of old configurations.

Contributes to https://github.com/dotnet/runtime/issues/47530

3 years agoRemove unused functions in MarshalInfo (#51907)
Elinor Fung [Tue, 27 Apr 2021 17:09:58 +0000 (10:09 -0700)]
Remove unused functions in MarshalInfo (#51907)

3 years agoensure Http2Connection is disposed if SetupAsync throws (#51889)
Geoff Kizer [Tue, 27 Apr 2021 16:49:15 +0000 (09:49 -0700)]
ensure Http2Connection is disposed if SetupAsync throws (#51889)

* ensure Http2Connection is disposed if SetupAsync throws

* add relevant test, improve existing test, and improve exception handling

Co-authored-by: Geoffrey Kizer <geoffrek@windows.microsoft.com>
3 years ago[main] Update dependencies from dotnet/icu dotnet/xharness dotnet/llvm-project dotnet...
dotnet-maestro[bot] [Tue, 27 Apr 2021 16:14:29 +0000 (18:14 +0200)]
[main] Update dependencies from dotnet/icu dotnet/xharness dotnet/llvm-project dotnet/runtime-assets (#51920)

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
3 years agoFixed non-decreasing count of stream on H3 connection. (#51742)
Marie Píchová [Tue, 27 Apr 2021 16:13:22 +0000 (18:13 +0200)]
Fixed non-decreasing count of stream on H3 connection. (#51742)

* Fixed HTTP/3 client hang after subsequent 100 streams.

Fixed testing H/3 loopback stream to properly close. Otherwise, the stream will end up in a bad state and the connection will eventually run out of available streams.

* Added assert.

3 years agoResolve ILLink warnings in Microsoft.VisualBasic.Core (#51725)
Jose Perez Rodriguez [Tue, 27 Apr 2021 16:12:27 +0000 (09:12 -0700)]
Resolve ILLink warnings in Microsoft.VisualBasic.Core (#51725)

* Addressing most of the Linker Warnings in Microsoft.VB

* Address COM Linker warnings

* Address remaining warnings

* Update Reference assembly

* Provide better RequiresUnreferencedCode comments

* Fix build

* Address some feedback

* More Feedback

3 years agoRe-enable USING_VARIABLE_LIVE_RANGE (#50162)
Egor Bogatov [Tue, 27 Apr 2021 16:09:08 +0000 (19:09 +0300)]
Re-enable USING_VARIABLE_LIVE_RANGE (#50162)

Co-authored-by: Jan Kotas <jkotas@microsoft.com>
3 years agoMake EventSourceAutoGenerateAttribute conditional to not be emitted into (#51913)
Marek Safar [Tue, 27 Apr 2021 16:07:35 +0000 (18:07 +0200)]
Make EventSourceAutoGenerateAttribute conditional to not be emitted into (#51913)

output assembly

3 years agoStop harvesting old frameworks in more libraries (#51894)
Viktor Hofer [Tue, 27 Apr 2021 15:56:25 +0000 (17:56 +0200)]
Stop harvesting old frameworks in more libraries (#51894)

* Stop harvesting old frameworks in more libraries

The removed configurations (few netstandard1.x, portable*, netcore50,
net46) of the touched packages aren't built anymore. Instead
the already built matching binaries from the latest available packages
are redistributed when packaging these libraries.

Dropping these assets as the minimum supported set of platforms are ones
that support netstandard2.0. For .NET Framework, there's still a net461
configuration present to avoid binding redirect issues.

Contributes to https://github.com/dotnet/runtime/issues/47530

3 years agoFeature switch to turn off COM support in Windows (#50662)
Lakshan Fernando [Tue, 27 Apr 2021 11:03:13 +0000 (04:03 -0700)]
Feature switch to turn off COM support in Windows (#50662)

* Incorporating FB

* non-windows build break fix

* FB

* fb

* test fixes + added new guards to missed ones

* test fixed based on FB

3 years agoMark SIMD assignments as related to SIMD intrinsics (#51731)
Tanner Gooding [Tue, 27 Apr 2021 09:16:02 +0000 (02:16 -0700)]
Mark SIMD assignments as related to SIMD intrinsics (#51731)

* Ensure that GenTreeJitIntrinsic explicitly zeroes out certain nodes

* Mark SIMD assignments as related to SIMD intrinsics

* Refactor SetOpLclRelatedToSIMDIntrinsic so it is easier to debug/understand

* Applying formatting patch

* Mark SIMD assignments as related to SIMD intrinsics on x86

3 years agoSimplify condition checking for downlevel from net5.0 (#51888)
Jeff Handley [Tue, 27 Apr 2021 08:20:54 +0000 (01:20 -0700)]
Simplify condition checking for downlevel from net5.0 (#51888)

* Simplify condition checking for downlevel from net5.0

* Use IsTargetFrameworkCompatible to check the version

3 years agomany remove empty statement from System.Private.Xml (#51737)
kronic [Tue, 27 Apr 2021 07:55:28 +0000 (10:55 +0300)]
many remove empty statement from System.Private.Xml (#51737)

* many remove empty statement

* review feedback

* -

Co-authored-by: kronic <kronic@softland.ru>
3 years ago[macOS] Implement RSA, ECC through new macOS 10.12 APIs (#51620)
Filip Navara [Tue, 27 Apr 2021 06:39:09 +0000 (08:39 +0200)]
[macOS] Implement RSA, ECC through new macOS 10.12 APIs (#51620)

3 years ago[wasm][aot] Disable failing AOT tests, to get a green build (#51724)
Ankit Jain [Tue, 27 Apr 2021 05:55:45 +0000 (01:55 -0400)]
[wasm][aot] Disable failing AOT tests, to get a green build (#51724)

Co-authored-by: Larry Ewing <lewing@microsoft.com>
3 years agoScale cloned loop block weights (#51901)
Bruce Forstall [Tue, 27 Apr 2021 05:17:15 +0000 (22:17 -0700)]
Scale cloned loop block weights (#51901)

* Scale cloned loop block weights

The slow path of cloned loops are scaled to keep only 1% of the
original block weights, while the original loop keeps 99% of the weight.
It could be argued that the cloned loop slow path, as currently implemented,
should only be executed during exceptional paths, and thus should be
marked "run rarely", but don't do that for now.

There are many diffs, due to weights changing. Mostly, fewer CSEs in cloned
loop slow paths. E.g., aspnet spmi diffs included below.

Also, add a header comment for `optRedirectBlock` (previous change follow-up).
In addition, I didn't like the semantics of the `addPreds` flag -- it didn't
match well with the rest of the function -- so I removed it and added the appropriate
changes in `optCloneLoop` (the only caller that used that) to compensate.

I added code to `optEnsureUniqueHead`, only used by loop cloning, to add and update
appropriate preds edges. It turns out, however, this function is currently dead
code, due to other limitations in loop cloning. I'll leave the changes anyway, in
case those limitations are removed later. This part of the change I verified was no-diff
(and verified the code wasn't even executed in our SPMI collections).

```

Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 18811
Total bytes of diff: 18749
Total bytes of delta: -62 (-0.33% of base)
    diff is an improvement.
```
<details>

<summary>Detail diffs</summary>

```

Top file regressions (bytes):
          23 : 19019.dasm (9.91% of base)
          23 : 38588.dasm (9.91% of base)
           8 : 39269.dasm (1.15% of base)
           3 : 19897.dasm (0.94% of base)
           2 : 40501.dasm (1.43% of base)

Top file improvements (bytes):
         -37 : 13173.dasm (-2.41% of base)
         -37 : 14302.dasm (-2.41% of base)
         -17 : 31284.dasm (-0.84% of base)
         -17 : 34351.dasm (-0.83% of base)
          -5 : 31157.dasm (-0.25% of base)
          -5 : 34245.dasm (-0.25% of base)
          -3 : 38167.dasm (-0.49% of base)

12 total files with Code Size differences (7 improved, 5 regressed), 4 unchanged.

Top method regressions (bytes):
          23 ( 9.91% of base) : 19019.dasm - ObjectEqualityComparer`1:IndexOf(ref,__Canon,int,int):int:this
          23 ( 9.91% of base) : 38588.dasm - ObjectEqualityComparer`1:IndexOf(ref,__Canon,int,int):int:this
           8 ( 1.15% of base) : 39269.dasm - RuntimeMethodInfo:MakeGenericMethod(ref):MethodInfo:this
           3 ( 0.94% of base) : 19897.dasm - ControllerActionInvoker:PrepareArguments(IDictionary`2,ObjectMethodExecutor):ref
           2 ( 1.43% of base) : 40501.dasm - SslCredKey:Equals(SslCredKey):bool:this

Top method improvements (bytes):
         -37 (-2.41% of base) : 13173.dasm - DefaultTypeMap:FindConstructor(ref,ref):ConstructorInfo:this
         -37 (-2.41% of base) : 14302.dasm - DefaultTypeMap:FindConstructor(ref,ref):ConstructorInfo:this
         -17 (-0.84% of base) : 31284.dasm - EntityMaterializerInjectingExpressionVisitor:MaterializeEntity(EntityShaperExpression,ParameterExpression,ParameterExpression,ParameterExpression,ParameterExpression):Expression:this
         -17 (-0.83% of base) : 34351.dasm - EntityMaterializerInjectingExpressionVisitor:MaterializeEntity(EntityShaperExpression,ParameterExpression,ParameterExpression,ParameterExpression,ParameterExpression):Expression:this
          -5 (-0.25% of base) : 31157.dasm - EntityShaperExpression:GenerateMaterializationCondition(IEntityType,bool):LambdaExpression:this
          -5 (-0.25% of base) : 34245.dasm - EntityShaperExpression:GenerateMaterializationCondition(IEntityType,bool):LambdaExpression:this
          -3 (-0.49% of base) : 38167.dasm - RuntimeMethodInfo:Equals(Object):bool:this

Top method regressions (percentages):
          23 ( 9.91% of base) : 19019.dasm - ObjectEqualityComparer`1:IndexOf(ref,__Canon,int,int):int:this
          23 ( 9.91% of base) : 38588.dasm - ObjectEqualityComparer`1:IndexOf(ref,__Canon,int,int):int:this
           2 ( 1.43% of base) : 40501.dasm - SslCredKey:Equals(SslCredKey):bool:this
           8 ( 1.15% of base) : 39269.dasm - RuntimeMethodInfo:MakeGenericMethod(ref):MethodInfo:this
           3 ( 0.94% of base) : 19897.dasm - ControllerActionInvoker:PrepareArguments(IDictionary`2,ObjectMethodExecutor):ref

Top method improvements (percentages):
         -37 (-2.41% of base) : 13173.dasm - DefaultTypeMap:FindConstructor(ref,ref):ConstructorInfo:this
         -37 (-2.41% of base) : 14302.dasm - DefaultTypeMap:FindConstructor(ref,ref):ConstructorInfo:this
         -17 (-0.84% of base) : 31284.dasm - EntityMaterializerInjectingExpressionVisitor:MaterializeEntity(EntityShaperExpression,ParameterExpression,ParameterExpression,ParameterExpression,ParameterExpression):Expression:this
         -17 (-0.83% of base) : 34351.dasm - EntityMaterializerInjectingExpressionVisitor:MaterializeEntity(EntityShaperExpression,ParameterExpression,ParameterExpression,ParameterExpression,ParameterExpression):Expression:this
          -3 (-0.49% of base) : 38167.dasm - RuntimeMethodInfo:Equals(Object):bool:this
          -5 (-0.25% of base) : 31157.dasm - EntityShaperExpression:GenerateMaterializationCondition(IEntityType,bool):LambdaExpression:this
          -5 (-0.25% of base) : 34245.dasm - EntityShaperExpression:GenerateMaterializationCondition(IEntityType,bool):LambdaExpression:this

12 total methods with Code Size differences (7 improved, 5 regressed), 4 unchanged.

```

</details>

--------------------------------------------------------------------------------

* Formatting

3 years agoUnzip only if running tests_libraries (#51904)
Kunal Pathak [Tue, 27 Apr 2021 04:29:51 +0000 (21:29 -0700)]
Unzip only if running tests_libraries (#51904)

3 years agocorerun supports user defined properties from command line. (#51774)
Aaron Robinson [Tue, 27 Apr 2021 03:46:55 +0000 (20:46 -0700)]
corerun supports user defined properties from command line. (#51774)

* corerun supports user defined properties from command line.

* Update workflow help doc for corerun.

Co-authored-by: Elinor Fung <elfung@microsoft.com>
3 years agorework HTTP version handling (#51454)
Geoff Kizer [Tue, 27 Apr 2021 01:37:54 +0000 (18:37 -0700)]
rework HTTP version handling (#51454)

* rework HTTP version handling

* address review feedback

* fix version error string

Co-authored-by: Geoffrey Kizer <geoffrek@windows.microsoft.com>
3 years agoDead end S.Security.Cryptography.Cng package (#51853)
Viktor Hofer [Mon, 26 Apr 2021 21:38:16 +0000 (23:38 +0200)]
Dead end S.Security.Cryptography.Cng package (#51853)

* Dead end S.Security.Cryptography.Cng package

To reduce complexity of the cryptography cng library, dead ending its
package as most of the configurations are partial facades anyway and
adding Cng to the targeting pack. It's already part of the runtime and
exposed in aspnetcore's targeting pack.

.NET Standard libraries can continue to use the latest available package
which harvests for .NET Standard configurations.

Contributes to https://github.com/dotnet/runtime/issues/47530

3 years agoAdd missing check for enabled tracing as it's done everywhere else (#51874)
Marek Safar [Mon, 26 Apr 2021 21:32:58 +0000 (23:32 +0200)]
Add missing check for enabled tracing as it's done everywhere else (#51874)

3 years agoUpdate area-owners.md (#51892)
Viktor Hofer [Mon, 26 Apr 2021 21:32:48 +0000 (23:32 +0200)]
Update area-owners.md (#51892)

3 years ago[main] Update dependencies from dotnet/icu dotnet/arcade dotnet/runtime dotnet/xharne...
dotnet-maestro[bot] [Mon, 26 Apr 2021 21:22:43 +0000 (21:22 +0000)]
[main] Update dependencies from dotnet/icu dotnet/arcade dotnet/runtime dotnet/xharness (#51780)

[main] Update dependencies from dotnet/icu dotnet/arcade dotnet/runtime dotnet/xharness

3 years agoInclude the filename in the config file load errors (#51713)
David Pine [Mon, 26 Apr 2021 20:04:59 +0000 (15:04 -0500)]
Include the filename in the config file load errors (#51713)

* Initial bits for including the file path in config file load errors

* Revert a few questionable changes

* Fixed unit tests. Corrected resource error message, space/format. Revert OpenRead location outside try/catch. Added all possible exceptions to Load() comments.

3 years agoSubstitute one more Task method used for debugging (#51871)
Marek Safar [Mon, 26 Apr 2021 20:02:04 +0000 (22:02 +0200)]
Substitute one more Task method used for debugging (#51871)

3 years agorefactor old APM [Begin/End]Accept methods on top of Task APIs, and enable for Unix...
Geoff Kizer [Mon, 26 Apr 2021 19:17:44 +0000 (12:17 -0700)]
refactor old APM [Begin/End]Accept methods on top of Task APIs, and enable for Unix as well (#51212)

* refactor old APM [Begin/End]Accept methods on top of Task APIs, and enable for Unix as well

* fix BeginAccept to throw synchronously, and relevant test changes

* fix AcceptReceive test to run on unix too

* dispose accepted socket if receive throws

* remove CallbackClosure cache

* fix test helper to indicate AcceptReceive with EAP is still only supported on Windows

Co-authored-by: Geoffrey Kizer <geoffrek@windows.microsoft.com>
3 years ago[doc] Glossary +SEH +TFM (#51878)
Pavel Savara [Mon, 26 Apr 2021 19:12:27 +0000 (21:12 +0200)]
[doc] Glossary +SEH +TFM (#51878)

* 2 abreviations I noticed in BOTR and missing here.

Co-authored-by: Jan Kotas <jkotas@microsoft.com>
3 years agoFix SYSLIB obsoletion warnings in tests (#51847)
Jeff Handley [Mon, 26 Apr 2021 19:02:16 +0000 (12:02 -0700)]
Fix SYSLIB obsoletion warnings in tests (#51847)

* Fix SYSLIB obsoletion warnings in tests

* Simplify references to assembly location

3 years agoDead end S.Security.Cryptography.OpenSsl package (#51854)
Viktor Hofer [Mon, 26 Apr 2021 18:52:37 +0000 (20:52 +0200)]
Dead end S.Security.Cryptography.OpenSsl package (#51854)

* Dead end S.Security.Cryptography.OpenSsl package

To reduce complexity of the cryptography OpenSsl library, dead ending
its package as most of the configurations are partial facades anyway and
adding OpenSsl to the targeting pack. It's already part of the runtime
and exposed in aspnetcore's targeting pack.

.NET Standard libraries can continue to use the latest available package
which harvests for .NET Standard configurations.

Contributes to https://github.com/dotnet/runtime/issues/47530

3 years agoStop harvesting S.Security.Crypto.ProtectedData (#51872)
Viktor Hofer [Mon, 26 Apr 2021 18:34:07 +0000 (20:34 +0200)]
Stop harvesting S.Security.Crypto.ProtectedData (#51872)

The netstandard1.3 and net46 configurations of the
System.Security.Cryptography.ProtectedData packages aren't built
anymore. Instead the already built matching binary from the latest
available package version is redistributed when packaging these
libraries.

Dropping the netstandard1.3 asset and the net46 one as the
minimum supported set of platforms are ones that support netstandard2.0.
For .NET Framework, there's still a net461 configuration to avoid
binding redirect issues.

Contributes to https://github.com/dotnet/runtime/issues/47530

3 years agoChange field in DependencyInjectionEventSource which is used as constant (#51870)
Marek Safar [Mon, 26 Apr 2021 18:23:27 +0000 (20:23 +0200)]
Change field in DependencyInjectionEventSource which is used as constant (#51870)

3 years agoFix reference assembly output paths (#51852)
Viktor Hofer [Mon, 26 Apr 2021 18:17:59 +0000 (20:17 +0200)]
Fix reference assembly output paths (#51852)

Regressed with https://github.com/dotnet/runtime/commit/9580b7dbe54c52a8b977ed4bb5819f43d6eb5e93. Didn't result in any issues as there is no dependency on reference assemblies' output path. Hence I won't add CI protection for it.

3 years agoFix handling of multidimensional arrays in type system and dotnet-pgo (#51764)
David Wrighton [Mon, 26 Apr 2021 17:43:28 +0000 (10:43 -0700)]
Fix handling of multidimensional arrays in type system and dotnet-pgo (#51764)

- Provide representation for multidimensional array non-standard shapes in embedded signature data (to allow overloads)
  - This fixes possible issues in interop with C++ and IL generated binaries in crossgen2 as well as these issues in dotnet-pgo
- Move type system metadata emitter logic from dotnet-pgo source base to common
  - Enables creation of unittests to cover the bugs identified
- Fix emission of multidimensional arrays in signature emitter
  - Emit complex array shape when available
  - Even when standard shape is in place, pass empty ImmutableArrays for bounds and lobounds, not just default
- Fix handling of multidimensional arrays when generating a type reference
  - If a type isn't a MetadataType don't treat it as one

Also a small drive-by fix to reduce unnecessary throwing of exceptions while running dotnet-pgo

3 years agoAdd another try/catch into IBC parser (#51768)
David Wrighton [Mon, 26 Apr 2021 17:42:03 +0000 (10:42 -0700)]
Add another try/catch into IBC parser (#51768)

3 years agoAddress more #51528 feedback & do some clean up (#51767)
Layomi Akinrinade [Mon, 26 Apr 2021 17:23:04 +0000 (10:23 -0700)]
Address more #51528 feedback & do some clean up (#51767)

3 years agoJIT: update optReachable with excluded block check (#51842)
Andy Ayers [Mon, 26 Apr 2021 16:51:09 +0000 (09:51 -0700)]
JIT: update optReachable with excluded block check (#51842)

`optReachable` is used by the redundant branch optimizer to try and determine
if the successors of some dominating block can reach a target block.

In doing so, we can exclude paths from a successor that must pass
back through the dominating block to reach the target block.

This lets us remove some redundant branches in loops that we were missing
because we over-estimated reachability.

3 years ago[main] Update dependencies from mono/linker (#51781)
dotnet-maestro[bot] [Mon, 26 Apr 2021 15:35:34 +0000 (17:35 +0200)]
[main] Update dependencies from mono/linker (#51781)

* Update dependencies from https://github.com/mono/linker build 20210423.1

Microsoft.NET.ILLink.Tasks
 From Version 6.0.100-preview.2.21222.2 -> To Version 6.0.100-preview.2.21223.1

* Update dependencies from https://github.com/mono/linker build 20210426.1

Microsoft.NET.ILLink.Tasks
 From Version 6.0.100-preview.2.21222.2 -> To Version 6.0.100-preview.2.21226.1

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
3 years agoUpdate zlib-intel (#51857)
Natalia Kondratyeva [Mon, 26 Apr 2021 15:08:03 +0000 (17:08 +0200)]
Update zlib-intel (#51857)

3 years agoFix .xdata handling for ARM64 (#51818)
Anton Lapounov [Mon, 26 Apr 2021 15:07:43 +0000 (08:07 -0700)]
Fix .xdata handling for ARM64 (#51818)

3 years agopass the debug arg along (#51846)
Larry Ewing [Mon, 26 Apr 2021 12:23:24 +0000 (07:23 -0500)]
pass the debug arg along (#51846)

3 years agoFix the docs on building Mono runtime packages (#50583)
SingleAccretion [Mon, 26 Apr 2021 09:16:09 +0000 (12:16 +0300)]
Fix the docs on building Mono runtime packages (#50583)

3 years agoAdd Mono System.Diagnostics.Tracing.RuntimeEventSource. (#51734)
Johan Lorensson [Mon, 26 Apr 2021 08:44:12 +0000 (10:44 +0200)]
Add Mono System.Diagnostics.Tracing.RuntimeEventSource. (#51734)

Mono didn't register RuntimeEventSource on startup and was missing a number of runtime specific counters. This commit implements support for all current counters in RuntimeEventSource on Mono runtime.

3 years agoAnnotate unsupported APIs in .Net core as Obsolete - Reflection area (#50941)
Buyaa Namnan [Sun, 25 Apr 2021 20:09:54 +0000 (13:09 -0700)]
Annotate unsupported APIs in .Net core as Obsolete - Reflection area (#50941)

* Annotate unsupported APIs in .Net core as Obsolete - Reflection area

3 years agoUse newest PGO data for Linux and windows-x86 (#51656)
Andy Gocke [Sun, 25 Apr 2021 01:18:20 +0000 (18:18 -0700)]
Use newest PGO data for Linux and windows-x86 (#51656)

This data was previously held back because we weren't producing
builds with Linux or windows-x86 but now we are. The Linux builds
now produce only a single profdata file, coreclr.profdata, which
should contain all the profile information for all the libraries in the
runtime.

3 years agoAdd alias for -arch on Linux scripts (#51816)
Andrii Kurdiumov [Sat, 24 Apr 2021 22:56:22 +0000 (04:56 +0600)]
Add alias for -arch on Linux scripts (#51816)

-a alias supported by build.ps1

3 years agoJIT: minor cleanups to the guarded devirtualization transform. (#51769)
Andy Ayers [Sat, 24 Apr 2021 16:50:40 +0000 (09:50 -0700)]
JIT: minor cleanups to the guarded devirtualization transform. (#51769)

Some small changes in anticipation of an upcoming bigger change.
Should give a tiny boost to throughput and is (nearly) no diff.

Don't bother creating a new block for the GDV test, it can sit at
the end of the original block.

Bash the original ret expr instead of leaving it referring to a temp
local and/or nop.

3 years agodebugging.md - fixed incorrect paths (#51577)
Andrei Faber [Sat, 24 Apr 2021 13:36:34 +0000 (08:36 -0500)]
debugging.md - fixed incorrect paths (#51577)

3 years agoAdd DynamicallyAccessedMemberTypes.Interfaces enum value (#51755)
Vitek Karas [Sat, 24 Apr 2021 07:39:23 +0000 (09:39 +0200)]
Add DynamicallyAccessedMemberTypes.Interfaces enum value (#51755)

Implements new API approved in https://github.com/dotnet/runtime/issues/51487.

Co-authored-by: Eric Erhardt <eric.erhardt@microsoft.com>
3 years ago[mono] Allow llvm->interp transitions on calls to Nullable.Box. (#51773)
Zoltan Varga [Sat, 24 Apr 2021 05:46:54 +0000 (01:46 -0400)]
[mono] Allow llvm->interp transitions on calls to Nullable.Box. (#51773)

Fixes https://github.com/dotnet/runtime/issues/50171.

3 years agoimprove wasm aot symbolification when striping isn't enabled (#49526)
Larry Ewing [Sat, 24 Apr 2021 04:00:14 +0000 (23:00 -0500)]
improve wasm aot symbolification when striping isn't enabled (#49526)

3 years ago[mono] Emit a null check in the ldind opcodes. (#51747)
Zoltan Varga [Sat, 24 Apr 2021 01:48:03 +0000 (21:48 -0400)]
[mono] Emit a null check in the ldind opcodes. (#51747)

Fixes https://github.com/dotnet/runtime/issues/50962.

3 years agoDon't recompute preds lists during loop cloning (#51757)
Bruce Forstall [Sat, 24 Apr 2021 01:08:13 +0000 (18:08 -0700)]
Don't recompute preds lists during loop cloning (#51757)

Instead, add and modify the appropriate preds when the mechanical
cloning is performed. This will preserve existing profile data
on the edges.

Contributes to #49030

No x86/x64 SPMI asm diffs.

3 years agoDisable regression test 49826 failing after a library refactoring (#51759)
Tomáš Rylek [Sat, 24 Apr 2021 00:59:57 +0000 (02:59 +0200)]
Disable regression test 49826 failing after a library refactoring (#51759)

3 years agoFix method context number seen by the jit with parallel SPMI (#51753)
Andy Ayers [Sat, 24 Apr 2021 00:26:52 +0000 (17:26 -0700)]
Fix method context number seen by the jit with parallel SPMI (#51753)

The jit can see the SPMI method context number by querying the
jit host for `SuperPMIMethodContextNumber`. Update the way this
value is computed, so it gives the same answer when running SPMI
in parallel that it does when running serially.

3 years agoStop using DomainAssemblyCache for unmanaged image cache used by p/invokes (#51704)
Elinor Fung [Fri, 23 Apr 2021 23:39:31 +0000 (16:39 -0700)]
Stop using DomainAssemblyCache for unmanaged image cache used by p/invokes (#51704)

3 years agoComWrappers fixes from NET 5 memory leak (#51661)
Aaron Robinson [Fri, 23 Apr 2021 23:34:07 +0000 (16:34 -0700)]
ComWrappers fixes from NET 5 memory leak (#51661)

* Port over .NET 5 fix.

* Make .NET 5 fix more efficient on .NET 6.
Add tests for the controlled QueryInterface failure.

* Improve logging for external object wrapper creation.
Validate the returned value for ReleaseFromReferenceTracker API.

3 years agoOnly allow a single write to any fn_ptr during portable binding. (#51657)
Jeremy Barton [Fri, 23 Apr 2021 23:01:38 +0000 (16:01 -0700)]
Only allow a single write to any fn_ptr during portable binding. (#51657)

* Only allow a single write to any fn_ptr during portable binding.

* Make temp_ptr read volatile

Co-authored-by: Juan Sebastian Hoyos Ayala <juhoyosa@microsoft.com>
3 years agoUpdate analyzer versions (#51696)
Stephen Toub [Fri, 23 Apr 2021 21:20:21 +0000 (17:20 -0400)]
Update analyzer versions (#51696)

3 years ago[wasm] Fix running of tests on windows (#51743)
Radek Doulik [Fri, 23 Apr 2021 20:54:50 +0000 (22:54 +0200)]
[wasm] Fix running of tests on windows (#51743)

3 years agoImplement CryptoConfig.CreateFromName() for wasm (#51750)
Alexander Köplinger [Fri, 23 Apr 2021 19:57:02 +0000 (21:57 +0200)]
Implement CryptoConfig.CreateFromName() for wasm (#51750)

Hardcodes the mapping for the SHA* hashes supported on WebAssembly from https://docs.microsoft.com/en-us/dotnet/api/system.security.cryptography.cryptoconfig?view=net-5.0#remarks

Fixes https://github.com/dotnet/runtime/issues/44996

3 years agoAdd area-EnC-mono (#51749)
Aleksey Kliger (λgeek) [Fri, 23 Apr 2021 19:56:13 +0000 (15:56 -0400)]
Add area-EnC-mono (#51749)

3 years agoOptimize UTF-16 validation code (#51671)
Levi Broderick [Fri, 23 Apr 2021 19:29:08 +0000 (12:29 -0700)]
Optimize UTF-16 validation code (#51671)

3 years ago[main] Update dependencies from dotnet/arcade dotnet/xharness dotnet/runtime-assets...
dotnet-maestro[bot] [Fri, 23 Apr 2021 19:27:48 +0000 (21:27 +0200)]
[main] Update dependencies from dotnet/arcade dotnet/xharness dotnet/runtime-assets (#51707)

* Update dependencies from https://github.com/dotnet/runtime-assets build 20210420.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.21219.1 -> To Version 6.0.0-beta.21220.1

* Update dependencies from https://github.com/dotnet/xharness build 20210422.3

Microsoft.DotNet.XHarness.CLI , Microsoft.DotNet.XHarness.TestRunners.Xunit
 From Version 1.0.0-prerelease.21220.1 -> To Version 1.0.0-prerelease.21222.3

* Update dependencies from https://github.com/dotnet/arcade build 20210421.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.21219.2 -> To Version 6.0.0-beta.21221.1

* Update dependencies from https://github.com/dotnet/xharness build 20210423.1

Microsoft.DotNet.XHarness.CLI , Microsoft.DotNet.XHarness.TestRunners.Xunit
 From Version 1.0.0-prerelease.21220.1 -> To Version 1.0.0-prerelease.21223.1

* Revert downgrade of Microsoft.DotNet.Build.Tasks.Packaging

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
3 years agoClean up some flow graph functions (#51645)
Bruce Forstall [Fri, 23 Apr 2021 18:59:34 +0000 (11:59 -0700)]
Clean up some flow graph functions (#51645)

Convert a lot of function header comments to the current standard.
Write more documentation for many functions.
Remove a couple unused functions.

3 years agoStop harvesting old frameworks in some libraries (#51689)
Viktor Hofer [Fri, 23 Apr 2021 18:32:39 +0000 (20:32 +0200)]
Stop harvesting old frameworks in some libraries (#51689)

* Stop harvesting old frameworks in some libraries

The removed configurations (few netstandard1.x, portable*, netcore50)
of the touched packages aren't built anymore. Instead
the already built matching binaries from the latest available packages
are redistributed when packaging these libraries.

Dropping these assets as the minimum supported set of platforms are ones
that support netstandard2.0. For .NET Framework, there's still a net461
configuration present to avoid binding redirect issues.

Contributes to #47530

3 years agoUpdate Mono CODEOWNERS (#51748)
imhameed [Fri, 23 Apr 2021 18:02:59 +0000 (11:02 -0700)]
Update Mono CODEOWNERS (#51748)

3 years ago[wasm] Add build tests for no-op rebuilds (#51720)
Ankit Jain [Fri, 23 Apr 2021 17:45:23 +0000 (13:45 -0400)]
[wasm] Add build tests for no-op rebuilds (#51720)

.. this will catch problems like https://github.com/dotnet/runtime/pull/51703
which caused rebuild errors:

```
   1>wasm-ld : error : duplicate symbol: mono_aot_module_System_Runtime_info [/Users/radical/dev/r3/src/mono/sample/wasm/console/Wasm.Console.Sample.csproj]
         >>> defined in /Users/radical/dev/r3/artifacts/obj/mono/Wasm.Console.Sample/wasm/Release/browser-wasm/wasm/System.Runtime.dll.bc
         >>> defined in /Users/radical/dev/r3/artifacts/obj/mono/Wasm.Console.Sample/wasm/Release/browser-wasm/wasm/System.Runtime.dll.bc
```

3 years agoUpdate dependencies from https://github.com/mono/linker build 20210422.2 (#51735)
dotnet-maestro[bot] [Fri, 23 Apr 2021 17:09:28 +0000 (17:09 +0000)]
Update dependencies from https://github.com/mono/linker build 20210422.2 (#51735)

[main] Update dependencies from mono/linker

3 years agoediting-and-debugging.md - fixed incorrect file name (#51741)
Andrei Faber [Fri, 23 Apr 2021 16:53:40 +0000 (11:53 -0500)]
editing-and-debugging.md - fixed incorrect file name (#51741)

3 years ago[mono] Disable counters and logdest on wasm (#51525)
Ryan Lucia [Fri, 23 Apr 2021 16:35:36 +0000 (12:35 -0400)]
[mono] Disable counters and logdest on wasm (#51525)

3 years agoFix a Windows-only test for cultures not using . as decimal seperator (#51733)
Jakob Botsch Nielsen [Fri, 23 Apr 2021 16:06:27 +0000 (18:06 +0200)]
Fix a Windows-only test for cultures not using . as decimal seperator (#51733)

3 years agoIAsyncEnumerable deserializer should tolerate custom queue converters (#51702)
Eirik Tsarpalis [Fri, 23 Apr 2021 14:30:31 +0000 (15:30 +0100)]
IAsyncEnumerable deserializer should tolerate custom queue converters (#51702)

* IAsyncEnumerable deserializer should tolerate custom queue converters

* Update src/libraries/System.Text.Json/src/System/Text/Json/Serialization/JsonSerializer.Read.Stream.cs

Co-authored-by: Layomi Akinrinade <layomia@gmail.com>
* address feedback

* update ILLink suppressions

Co-authored-by: Layomi Akinrinade <layomia@gmail.com>
3 years ago[ios] Use managed implementation of Pbkdf2 (#51714)
Filip Navara [Fri, 23 Apr 2021 13:27:44 +0000 (15:27 +0200)]
[ios] Use managed implementation of Pbkdf2 (#51714)

Mirror Android, the native APIs don't exist on iOS.

Contributes to #47910.

3 years ago[mono] Work around arm64 MacCatalyst unavailable JITing API (#51669)
Aleksey Kliger (λgeek) [Fri, 23 Apr 2021 13:08:50 +0000 (09:08 -0400)]
[mono] Work around arm64 MacCatalyst unavailable JITing API (#51669)

* To [JIT on Apple Silicon](https://developer.apple.com/documentation/apple-silicon/porting-just-in-time-compilers-to-apple-silicon) the application must call `pthread_jit_write_protect_np (0)` before writing to a code page and then `pthread_jit_write_protect_np (1)` before executing JITed code.

* Catalyst apps are Mac apps that get to use iOS frameworks (as well as some mac frameworks).  The API access is guarded by `__API_AVAILABLE` and `__API_UNAVAILABLE` macros in Apple framework headers.  If an API is not explicitly marked for catalyst, clang will follow the `ios` availability.

Unfortunately, `pthread_jit_write_protect_np` is marked like this:

```c
__API_AVAILABLE(macos(11.0))
__API_UNAVAILABLE(ios, tvos, watchos)
void pthread_jit_write_protect_np(int enabled);
```

So a Catalyst app running on arm64 cannot call it.  It will get a compile-time error.
```
src/mono/mono/utils/mono-codeman.c:669:3: error: 'pthread_jit_write_protect_np' is unavailable: not available on macCatalyst
                  pthread_jit_write_protect_np (0);
                  ^
  /Applications/Xcode_12.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.1.sdk/usr/include/pthread.h:561:6: note: 'pthread_jit_write_protect_np' has been explicitly marked unavailable here
  void pthread_jit_write_protect_np(int enabled);
       ^
```

---

Turns out the symbol `pthread_jit_write_protect_np` is actually present in the Catalyst framework libraries, and it does the right thing.

This PR works around the unfortunate `pthread.h` declaration by not using it.

We create a new .c file that included our own declaration
```c
void pthread_jit_write_protect_np(int enabled);
```

And then a new `mono_jit_write_protect` function that calls the pthread function.

---

Another option would be to use something like
```
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wpartial-availability"
...
#pragma clang diagnostic pop
```
around the offending callsites.  But neither ignoring `-Wpartial-availability` nor `-Wunguarded-availability-new` seem to have any effect on the compilation error.

---

Caveat: It's not yet clear whether this is ok to do in a retail (App Store) app.

---

* [mono] define HOST_MACCAT not HOST_MACCATALYST for Mac Catalyst

The C code already has HOST_MACCAT ifdefs.  HOST_MACCATALYST isn't used.

3 years agoDac changes for regions (#50092)
Peter Sollich [Fri, 23 Apr 2021 11:16:00 +0000 (13:16 +0200)]
Dac changes for regions (#50092)

There are two sets of changes here:

- Make DacHeapWalker work for empty regions - I had observed a crash with the empty regions injected with STRESS_REGIONS.
- Make GetGCHeapStaticData robust against globals saved_sweep_ephemeral_seg and saved_sweep_ephemeral_start being null.

The changes should not cause issues for a coreclr NOT running with regions.

3 years agoImprove some of our recent obsoletions (#51721)
Jeff Handley [Fri, 23 Apr 2021 11:01:37 +0000 (04:01 -0700)]
Improve some of our recent obsoletions (#51721)

* Replace usage of NET50_OBSOLETIONS with NET5_0_OR_GREATER

* Correct GitHub handle

* Use a diagnostic id for the RuntimeEnvironment obsoletions from #50666

* Use fully-qualified attribute name in ref source updates from #49411

* Use a diagnostic id for the JsonSerializerOptions.IgnoreNullValues obsoletion from #41141

3 years agoChange a byte[] in KnownColorTable to be ReadOnlySpan<byte> (#51719)
Stephen Toub [Fri, 23 Apr 2021 10:59:23 +0000 (06:59 -0400)]
Change a byte[] in KnownColorTable to be ReadOnlySpan<byte> (#51719)

3 years agoFix test (#51729)
devsko [Fri, 23 Apr 2021 10:45:45 +0000 (12:45 +0200)]
Fix test (#51729)

3 years agoAdded tests for LoggerMessage.Define with skipEnabledCheck (#50773)
Günther Foidl [Fri, 23 Apr 2021 09:28:20 +0000 (11:28 +0200)]
Added tests for LoggerMessage.Define with skipEnabledCheck (#50773)

3 years ago[mono] Remove support for "file://" URIs when loading assemblies (#51727)
Ryan Lucia [Fri, 23 Apr 2021 07:04:12 +0000 (03:04 -0400)]
[mono] Remove support for "file://" URIs when loading assemblies (#51727)

This functionality was removed as part of .NET Core, see https://github.com/dotnet/docs/issues/19944 for more info

3 years agolateapexearlyspeed-issue-40848 Check open generic type arity mismatch… (#51167)
LateApexEarlySpeed [Fri, 23 Apr 2021 06:56:37 +0000 (14:56 +0800)]
lateapexearlyspeed-issue-40848 Check open generic type arity mismatch… (#51167)

3 years ago[AppleAppBuilder] misc Catalyst fixes (#51668)
Aleksey Kliger (λgeek) [Fri, 23 Apr 2021 06:08:38 +0000 (02:08 -0400)]
[AppleAppBuilder] misc Catalyst fixes (#51668)

3 years agoInclude FontName in Font.GetHashCode (#47674)
Satish Yadav [Fri, 23 Apr 2021 01:56:35 +0000 (07:26 +0530)]
Include FontName in Font.GetHashCode (#47674)

* Update Font.cs

* Added test for GetHashCode pr #46816

* Added SkipOnTargetFramework as GetHashCode doesn't include font name in .NET Framework and changed FontFamily to SansSarif as per PR #47674. Fixes #44343. Original PR #46816.

* Update FontTests.cs

* Fix test, skip font if name is equal

Co-authored-by: Dan Moseley <danmose@microsoft.com>
Co-authored-by: Santiago Fernandez Madero <safern@microsoft.com>
3 years agoUpdate jit for new likely class records (#51664)
Andy Ayers [Fri, 23 Apr 2021 00:46:31 +0000 (17:46 -0700)]
Update jit for new likely class records (#51664)

Co-authored-by: David Wrighton <davidwr@microsoft.com>
3 years agoFix symbolic link tests (#51712)
Andy Gocke [Fri, 23 Apr 2021 00:41:26 +0000 (17:41 -0700)]
Fix symbolic link tests (#51712)

* Fix symbolic link tests

Use IDisposable and `File.Delete` to ensure that symlinks get created
and cleaned up properly on all platforms. If all symlinks aren't
deleted, the later test cleanup phases have problems deleting them.

Fixes #51502

* Test still failing on Mac, skip until I can investigate

3 years agoFix building the repo on ARM64 (#51706)
Anton Lapounov [Thu, 22 Apr 2021 22:44:19 +0000 (15:44 -0700)]
Fix building the repo on ARM64 (#51706)

3 years agoWebRequest/ServicePoint/WebClient Obsoletion Follow-Up (#51550)
Jeff Handley [Thu, 22 Apr 2021 22:41:40 +0000 (15:41 -0700)]
WebRequest/ServicePoint/WebClient Obsoletion Follow-Up (#51550)

* WebRequest/ServicePoint/WebClient Obsoletion Follow-Up

* Suppress SYSLIB0014 at the project level for System.Net.Requests

3 years agoImprove documentation for obsoletion/analyzer diagnostics (#51595)
Jeff Handley [Thu, 22 Apr 2021 20:57:52 +0000 (13:57 -0700)]
Improve documentation for obsoletion/analyzer diagnostics (#51595)

* Improve documentation for obsoletion/analyzer diagnostics

* Clarity for SYSLIB0### and SYSLIB1### sequences

* Add info about the SYSLIB documentation pages

* Add pointer to the docs within Obsoletions.cs

3 years agoOverwrite the old rsp (#51703)
Larry Ewing [Thu, 22 Apr 2021 20:36:41 +0000 (15:36 -0500)]
Overwrite the old rsp (#51703)

3 years ago[wasm][tests] Fix path to System.Text.Json.Tests for excluding from .. (#51670)
Ankit Jain [Thu, 22 Apr 2021 20:07:56 +0000 (16:07 -0400)]
[wasm][tests] Fix path to System.Text.Json.Tests for excluding from .. (#51670)

- makes EAT build green again

3 years agoAdd Blazor Pizza app SOD test (#51659)
Drew Scoggins [Thu, 22 Apr 2021 18:30:33 +0000 (11:30 -0700)]
Add Blazor Pizza app SOD test (#51659)

* Add Pizza App for WASM SOD

* Fix missing paren

* Fix quoting

3 years agoSOCKS4/4a/5 proxy support in SocketsHttpHandler (#48883)
Huo Yaoyuan [Thu, 22 Apr 2021 17:21:07 +0000 (01:21 +0800)]
SOCKS4/4a/5 proxy support in SocketsHttpHandler (#48883)

* Separate method for proxy scheme validation.

* Pass socks connection kind.

* Unauthorized socks5 connection.

* Username and password auth.

* Fix response address.

* Fix proxyUri value and assertion.

* Use HttpConnectionKind for SOCKS.

* Handle more connection kind assertions.

* SOCKS4/4a support.

* Move version selection into SocksHelper.

* Call sync version of read write.

* Cancellation by disposing stream.

* Dispose cancellation registration.

* IP addressing for SOCKS5.

* IP addressing for SOCKS4.

* Wrap write method.

* Cancellation and optimization.

* Optimize.

* Apply suggestions from code review

Co-authored-by: Miha Zupan <mihazupan.zupan1@gmail.com>
* Clarify logic.

* Remove ssl assertion.

* SocksException.

* Make SocksException derive from IOException.

* Use binary primitives to write port in BE.

* Socks loopback test.

* Expand test matrix.

* Try to solve certificate issue.

* Pass handler to httpclient.

* Update ConnectToTcpHostAsync.

* Remove custom self-signed cert use from Socks test

* Fix LoopbackSocksServer's parsing of Socks4a domain name

* Only set RequestVersionExact for H2C

Setting it in general breaks H2 => H1.1 downgrade on platforms without ALPN

* Add auth test.

* Add IP in test matrix.

* Only override host when required.

* Don't attempt NT Auth for Socks proxies

* Skip HTTP2 ssl test on platforms without ALPN support

* Use NetworkCredential directly

* Pass AddressFamily to sync Dns resolution too

* Consistently check encoded string lengths

* Fix Socks5 user/pass auth

* Add IPv6 test for socks5

* Exception nits

* Add exceptional tests.

* Fix exceptional test.

* Fix NRT compilation

Co-authored-by: Miha Zupan <mihazupan.zupan1@gmail.com>
* Server shouldn't wait for request in exceptional test.

* Add exception message to test.

* Update auth failure handling.

* SOCKS4 and 5 uses different auth model, requires different error message.

* Revert accidental indent change.

* Expand test matrix to include Sync HTTP1

* Read received bytes before returning error response in Socks4 loopback

* Use named bool arguments

* Improve exception messages

* !IsEmpty => Length != 0

* Improve exception messages 2

* Avoid enforing Socks4 VN value

Co-authored-by: Miha Zupan <mihazupan.zupan1@gmail.com>
3 years agoCleanup XmlReader (#51561)
kronic [Thu, 22 Apr 2021 16:41:02 +0000 (19:41 +0300)]
Cleanup XmlReader (#51561)

* remove repetitions ';'

* Cleanup XmlReader

* Cleanup XmlReaderAsync

* review feedback

* review feedback

Co-authored-by: kronic <kronic@softland.ru>
3 years agoFix another hang on shutdown (#51681)
David Fowler [Thu, 22 Apr 2021 16:19:36 +0000 (09:19 -0700)]
Fix another hang on shutdown (#51681)

* Fix another hang on shutdown
- If SIGINT/Ctrl+C fires don't block shutdown waiting for dispose. This mechanism was intended to be a way to let application code unwind completely before exiting the process but we can cancel the the CancelKeyPress today, which means we don't need to wait for dispose to be called.
- This is a change in behavior but I can't figure out a case where ProcessExit would fire and you'd want it to wait on a dispose call *after* SIGINT/CTRL+C has fired.

3 years agofix quic cert validation with OpenSSL (#51015)
Tomas Weinfurt [Thu, 22 Apr 2021 15:59:09 +0000 (08:59 -0700)]
fix quic cert validation with OpenSSL (#51015)

* fix quic cert validation with OpenSSL

* feedback from review

* update certificate conditions

3 years agoUpdate dependencies from https://github.com/mono/linker build 20210422.1 (#51690)
dotnet-maestro[bot] [Thu, 22 Apr 2021 14:44:36 +0000 (14:44 +0000)]
Update dependencies from https://github.com/mono/linker build 20210422.1 (#51690)

[main] Update dependencies from mono/linker

3 years ago[interp] Correctly keep track of stack height when inlining (#51684)
Vlad Brezae [Thu, 22 Apr 2021 14:24:41 +0000 (17:24 +0300)]
[interp] Correctly keep track of stack height when inlining (#51684)

We didn't update the stack pointer after a return opcode.

3 years agoRemove harvesting of System.Composition* (#51617)
Viktor Hofer [Thu, 22 Apr 2021 13:47:32 +0000 (15:47 +0200)]
Remove harvesting of System.Composition* (#51617)

The netstandard1.0 and portable* configurations of the
System.Composition.* packages aren't built anymore. Instead
the already built matching binary from the latest available package
version is redistributed when packaging these libraries.

Dropping the netstandard1.0 asset and the portable* one as the
minimum supported set of platforms are ones that support netstandard2.0.
For .NET Framework, there's still a net461 configuration to avoid
binding redirect issues.

Contributes to #47530

3 years agoImmutableDictionary.AddRange: throw if any item has a null Key. (#51438)
Nathan Moreau [Thu, 22 Apr 2021 12:52:14 +0000 (14:52 +0200)]
ImmutableDictionary.AddRange: throw if any item has a null Key. (#51438)

The behavior of AddRange(items) should be the same as
foreach(var item in items) Add(item); Add(item) throws if item.Key == null,
so AddRange should it as well.

Fix #50865.

3 years agoHTTP/3 fixed some tests (#51493)
Marie Píchová [Thu, 22 Apr 2021 11:11:46 +0000 (13:11 +0200)]
HTTP/3 fixed some tests (#51493)

* Fixed HTTP/3 test crashes.

* Removed H3 test cases from version selection test.

Since H3 is using QUIC/UDP it's not possible to use Ssl over TCP socket ALPN to determine the final request version. It either has to be pre-negotiated or upgraded via Alt-Svc.