platform/upstream/dotnet/runtime.git
3 years agoDisable Http2_MultipleConnectionsEnabled_ConnectionLimitNotReached_ConcurrentRequests...
Alexander Nikolaev [Wed, 14 Jul 2021 14:05:27 +0000 (16:05 +0200)]
Disable Http2_MultipleConnectionsEnabled_ConnectionLimitNotReached_ConcurrentRequestsSuccessfullyHandled

Reverts #55572. The test is still failing.

3 years ago[QUIC] Cosmetic changes to Read pipeline (#55591)
Natalia Kondratyeva [Wed, 14 Jul 2021 14:00:44 +0000 (16:00 +0200)]
[QUIC] Cosmetic changes to Read pipeline (#55591)

Follow-up for NITs and cosmetic changes from #55505

3 years ago[mono][wasm] Mark memcpy LLVM instructions as volatile when they are used to copy...
Zoltan Varga [Wed, 14 Jul 2021 13:45:04 +0000 (09:45 -0400)]
[mono][wasm] Mark memcpy LLVM instructions as volatile when they are used to copy (#55598)

valuetypes containing references. This is needed to make sure llvm keeps the valuetypes
on the C stack for GC tracking.

Fixes random crashes when running the System.Collections.NonGeneric testsuite.

3 years agoAdd ArgumentNullException.ThrowIfNull (#55594)
Stephen Toub [Wed, 14 Jul 2021 13:12:09 +0000 (09:12 -0400)]
Add ArgumentNullException.ThrowIfNull (#55594)

3 years ago[mono][wasm] Avoid compiling llvm bitcode files with -emit-llvm. (#55630)
Zoltan Varga [Wed, 14 Jul 2021 12:53:09 +0000 (08:53 -0400)]
[mono][wasm] Avoid compiling llvm bitcode files with -emit-llvm. (#55630)

It causes the output to be a bitcode file as well, which is
passed to the emscripten link step, which will compile it
to wasm sequentially, slowing down linking.

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

3 years agoremove superfluous comment (#55634)
Eirik Tsarpalis [Wed, 14 Jul 2021 12:32:27 +0000 (15:32 +0300)]
remove superfluous comment (#55634)

Fix #55389

3 years ago[wasm] [debugger] Support method calls (#55458)
Thays Grazia [Wed, 14 Jul 2021 12:13:46 +0000 (05:13 -0700)]
[wasm] [debugger] Support method calls  (#55458)

* Implement method calls and method calls with simple parameters.

* removing useless change.

* Support const char.
Support object.

* Adding more tests as suggested by @pavelsavara.

* Adding a test calling a method that returns void and change an attribute value.

* Changing what @pavelsavara suggested.

* Fix merge.

3 years ago[debugger] Fix debugging after hot reloading (#55599)
Thays Grazia [Wed, 14 Jul 2021 12:13:32 +0000 (05:13 -0700)]
[debugger] Fix debugging after hot reloading (#55599)

* Fix deug after hotreload.

* do not change mono.proj

* fix formatting.

* Remove extra space.

3 years agoInliner: Extend IL limit for profiled call-sites, allow inlining for switches. (...
Egor Bogatov [Wed, 14 Jul 2021 11:01:14 +0000 (14:01 +0300)]
Inliner: Extend IL limit for profiled call-sites, allow inlining for switches. (#55478)

3 years agoDiagnosticSourceEventSource supports base class properties (#55613)
Noah Falk [Wed, 14 Jul 2021 10:29:04 +0000 (03:29 -0700)]
DiagnosticSourceEventSource supports base class properties (#55613)

Fixes #41300

Previously DiagnosticSourceEventSource would only iterate and recognize properties that were declared on the most derived type.
Now it can capture properties that were inherited from a base class too.

3 years ago[mono] Fix race during mono_image_storage_open (#55201)
Ulrich Weigand [Wed, 14 Jul 2021 09:52:27 +0000 (11:52 +0200)]
[mono] Fix race during mono_image_storage_open (#55201)

3 years ago[mono] Add wrapper info for native func wrappers. (#55602)
Zoltan Varga [Wed, 14 Jul 2021 09:07:37 +0000 (05:07 -0400)]
[mono] Add wrapper info for native func wrappers. (#55602)

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

3 years agoH/3 and Quic AppContext switch (#55332)
Marie Píchová [Wed, 14 Jul 2021 07:19:45 +0000 (09:19 +0200)]
H/3 and Quic AppContext switch (#55332)

* Renamed AllowDraftHttp3 to AllowHttp3AndQuic app context switch

* Usage of AllowHttp3AndQuic switch in S.N.Quic and enabling it in tests

* Renamed AppContext switch to Http3Support

3 years agoCompression.ZipFile support for Unix Permissions (#55531)
Eric Erhardt [Wed, 14 Jul 2021 04:14:24 +0000 (23:14 -0500)]
Compression.ZipFile support for Unix Permissions (#55531)

* Compression.ZipFile support for Unix Permissions

When running on Unix, capture the file's permissions on ZipFile Create and write the captured file permissions on ZipFile Extract.

Fix #1548

3 years ago[mono] Fix skipping of static methods during IMT table construction. (#55610)
Zoltan Varga [Wed, 14 Jul 2021 04:12:14 +0000 (00:12 -0400)]
[mono] Fix skipping of static methods during IMT table construction. (#55610)

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

3 years agoCombine System.Private.Xml TrimmingTests projects (#55606)
Eric Erhardt [Wed, 14 Jul 2021 03:14:39 +0000 (22:14 -0500)]
Combine System.Private.Xml TrimmingTests projects (#55606)

For some reason we have 2 of them, and only need 1.

3 years agofix name conflict with Configuration class (#55597)
Geoff Kizer [Wed, 14 Jul 2021 01:36:43 +0000 (18:36 -0700)]
fix name conflict with Configuration class (#55597)

Co-authored-by: Geoffrey Kizer <geoffrek@windows.microsoft.com>
3 years agoFinish migrating RSAOpenSsl from RSA* to EVP_PKEY*
Jeremy Barton [Wed, 14 Jul 2021 01:20:19 +0000 (18:20 -0700)]
Finish migrating RSAOpenSsl from RSA* to EVP_PKEY*

This change moves the RSAOpenSsl class (and the RSA.Create() internal class on Linux) to use EVP_PKEY
for the import and export operations, making the interaction with the underlying library based on
PKCS#8 PrivateKeyInfo and X.509 SubjectPublicKeyInfo key blobs.

A large portion of the code is just from splitting the key helpers files to not need all of the encrypted PKCS#8 support
in the System.Security.Cryptography.OpenSsl library, as the encrypted PKCS#8 <-> unencrypted PKCS#8 work provided
by the base classes is sufficient.

Once PKCS#8 and SPKI became the primary modes of interaction the spanified import and export routines for those got
overridden in RSAOpenSsl to avoid SPKI->RSAParameters->SPKI-style conversions.

This change completely eliminates SafeRsaHandle, and the only time that an `RSA*` is used at all is in the legacy RSAOpenSsl(IntPtr) constructor.

3 years agoDisable generic math (#55540)
Tanner Gooding [Wed, 14 Jul 2021 00:34:26 +0000 (17:34 -0700)]
Disable generic math (#55540)

3 years agoObsolete CryptoConfig.EncodeOID (#55592)
Kevin Jones [Wed, 14 Jul 2021 00:16:54 +0000 (20:16 -0400)]
Obsolete CryptoConfig.EncodeOID (#55592)

3 years agoAddress System.Net.Http.WinHttpHandler's nullable warnings targeting .NETCoreApp...
Huo Yaoyuan [Wed, 14 Jul 2021 00:11:58 +0000 (08:11 +0800)]
Address System.Net.Http.WinHttpHandler's nullable warnings targeting .NETCoreApp (#54995)

* Update nullability for WinHttpHandler

* Update project file

* Use ! for PtrToStringUni

* Move assertion of _sessionHandle

* Remove false assertion about RequestHandle.

3 years agoEnable Http2_MultipleConnectionsEnabled_ConnectionLimitNotReached_ConcurrentRequestsS...
Alexander Nikolaev [Wed, 14 Jul 2021 00:10:52 +0000 (02:10 +0200)]
Enable Http2_MultipleConnectionsEnabled_ConnectionLimitNotReached_ConcurrentRequestsSuccessfullyHandled (#55572)

* Enable Http2_MultipleConnectionsEnabled_ConnectionLimitNotReached_ConcurrentRequestsSuccessfullyHandled

* Update SocketsHttpHandlerTest.cs

3 years agoFix Task.WhenAny failure mode when passed ICollection of zero tasks (#55580)
Stephen Toub [Wed, 14 Jul 2021 00:10:24 +0000 (20:10 -0400)]
Fix Task.WhenAny failure mode when passed ICollection of zero tasks (#55580)

3 years agoConsume DistributedContextPropagator in DiagnosticsHandler (#55392)
Miha Zupan [Tue, 13 Jul 2021 23:44:57 +0000 (16:44 -0700)]
Consume DistributedContextPropagator in DiagnosticsHandler (#55392)

3 years agoAdd property ordering feature (#55586)
Steve Harter [Tue, 13 Jul 2021 22:40:28 +0000 (17:40 -0500)]
Add property ordering feature (#55586)

3 years agoReduce subtest count in Reflection (#55537)
Dan Moseley [Tue, 13 Jul 2021 22:33:32 +0000 (16:33 -0600)]
Reduce subtest count in Reflection (#55537)

* Reduce reflection subtest count

* typo

3 years agoDo PGO restore as part of PGO path lookup. (#55584)
Jeremy Koritzinsky [Tue, 13 Jul 2021 22:26:47 +0000 (15:26 -0700)]
Do PGO restore as part of PGO path lookup. (#55584)

3 years agoOpen types can exist as entries in interface map (#55372)
David Wrighton [Tue, 13 Jul 2021 22:25:10 +0000 (15:25 -0700)]
Open types can exist as entries in interface map (#55372)

* Open types can exist as entries in interface map
- While invalid via the ECMA spec, the runtime currently represents a type explicitly instantiated over its own generic type parameters via the open type MethodTable
- This is not strictly correct, as per the spec, these should be represented via an instantiated type, but changing that detail at this time is considered highly risky
- This conflicts with the perf optimization around partialy interface loading which uses the open type of an interface to represent a type instantiated in the curiously recurring fashion.
- The fix is to detect types instantiated over generic variables, and make them ineligible for the optimization, and to detect those cases where the optimization is ineligible, and revert back to the non-optimized behavior

Fixes #55323

3 years agoAvoid declaring an object cannot fit in a segment if we already have committed space...
Andrew Au [Tue, 13 Jul 2021 22:10:34 +0000 (15:10 -0700)]
Avoid declaring an object cannot fit in a segment if we already have committed space for it (#55585)

3 years agoRecognize MacCatalyst as a superset of iOS (#55550)
Jeff Handley [Tue, 13 Jul 2021 21:33:41 +0000 (14:33 -0700)]
Recognize MacCatalyst as a superset of iOS (#55550)

Recognize MacCatalyst as a superset of iOS and apply platform guard attributes that will inform the analyzer of the relationship.

3 years agoFix length check for Regex BOL FindFirstChar optimization (#55574)
Stephen Toub [Tue, 13 Jul 2021 21:10:18 +0000 (17:10 -0400)]
Fix length check for Regex BOL FindFirstChar optimization (#55574)

For a beginning-of-line anchor, in FindFirstChar we use IndexOf to quickly skip ahead to the next \n.  But we neglected to check to see whether that brought us past an explicitly specified end position.  This just adds the missing check.

3 years agoRemove IL2050 in System.Management (#54810)
Andrii Kurdiumov [Tue, 13 Jul 2021 20:47:02 +0000 (02:47 +0600)]
Remove IL2050 in System.Management (#54810)

* Remove IL2050 in System.Management
Remove unused functions which trigger IL2050
As per discussed in #54317

* Fix location of variables

3 years agoRemove IL205 warning for System.Data.Odbc (#54809)
Andrii Kurdiumov [Tue, 13 Jul 2021 20:44:03 +0000 (02:44 +0600)]
Remove IL205 warning for System.Data.Odbc (#54809)

Function which produce warning not used anywhere

3 years ago[mono] Fix loader incompatibility w.r.t. Resolving event (#54815)
Ulrich Weigand [Tue, 13 Jul 2021 20:42:47 +0000 (22:42 +0200)]
[mono] Fix loader incompatibility w.r.t. Resolving event (#54815)

* When loading a non-satellite assembly into a non-default ALC,
  invoke the Resolving event in the default ALC first.

* Fixes https://github.com/dotnet/runtime/issues/54814

3 years ago[QUIC] Move ByteMixingOrNativeAVE_MinimalFailingTest to OuterLoop (#55595)
Natalia Kondratyeva [Tue, 13 Jul 2021 20:38:24 +0000 (22:38 +0200)]
[QUIC] Move ByteMixingOrNativeAVE_MinimalFailingTest to OuterLoop (#55595)

Fixes #55588

3 years agoAdd runtime property HOSTFXR_PATH (#55369)
Mateo Torres-Ruiz [Tue, 13 Jul 2021 20:16:29 +0000 (13:16 -0700)]
Add runtime property HOSTFXR_PATH (#55369)

* Add property HOSTFXR_PATH

* Comment

* PR feedback

* Use get_own_module_path since we are on hostfxr

* Dispose FileStream

3 years agoRemove EventSourceActivity (#55575)
hrrrrustic [Tue, 13 Jul 2021 19:53:12 +0000 (22:53 +0300)]
Remove EventSourceActivity (#55575)

* remove file

* remove a few references to deleted file

* fix corelib

3 years agoSimplify PosixSignalRegistration implementation on Unix (#55552)
Stephen Toub [Tue, 13 Jul 2021 19:39:47 +0000 (15:39 -0400)]
Simplify PosixSignalRegistration implementation on Unix (#55552)

* Simplify PosixSignalRegistration implementation on Unix

Bring it onto the same scheme as the Windows implementation.

* Address PR feedback

* Delete more dead code

* Update PosixSignalRegistration.Unix.cs

3 years agoDisable some PosixSignalRegistration tests on mobile targets (#55569)
Stephen Toub [Tue, 13 Jul 2021 19:39:29 +0000 (15:39 -0400)]
Disable some PosixSignalRegistration tests on mobile targets (#55569)

xunit doesn't like the fact that some of these MemberDatas were yielding 0 entries on these platforms.

3 years agoDisable Http2_MultipleConnectionsEnabled_InfiniteRequestsCompletelyBlockOneConnection...
Alexander Nikolaev [Tue, 13 Jul 2021 19:10:16 +0000 (21:10 +0200)]
Disable Http2_MultipleConnectionsEnabled_InfiniteRequestsCompletelyBlockOneConnection_RemaningRequestsAreHandledByNewConnection (#55593)

3 years agoAdd leeway to revocation timeout tests.
Kevin Jones [Tue, 13 Jul 2021 18:37:00 +0000 (14:37 -0400)]
Add leeway to revocation timeout tests.

3 years ago[wasm][http] Improve compatibility of abort and cancelation of BrowserHttpHandler...
Pavel Savara [Tue, 13 Jul 2021 18:20:10 +0000 (20:20 +0200)]
[wasm][http] Improve compatibility of abort and cancelation of BrowserHttpHandler (#55084)

* fixed handling of cancelation and abots exceptions to match unit test expectations

added [ActiveIssue("https://github.com/dotnet/runtime/issues/55083", TestPlatforms.Browser)] for redirect outerloop tests

* more

* code review feedback

3 years ago[main] Update dependencies from 7 repositories (#55565)
dotnet-maestro[bot] [Tue, 13 Jul 2021 18:13:22 +0000 (20:13 +0200)]
[main] Update dependencies from 7 repositories (#55565)

* Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimization build 20210712.2

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.21361.3 -> To Version 1.0.0-prerelease.21362.2

* Update dependencies from https://github.com/dotnet/arcade build 20210709.3

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.Build.Tasks.Archives , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.ApiCompat , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.GenFacades , Microsoft.DotNet.GenAPI , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.PackageTesting , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.SharedFramework.Sdk
 From Version 6.0.0-beta.21357.3 -> To Version 6.0.0-beta.21359.3

* Update dependencies from https://github.com/dotnet/icu build 20210712.1

Microsoft.NETCore.Runtime.ICU.Transport
 From Version 6.0.0-preview.7.21328.1 -> To Version 6.0.0-preview.7.21362.1

* Update dependencies from https://github.com/dotnet/llvm-project build 20210712.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 11.1.0-alpha.1.21357.1 -> To Version 11.1.0-alpha.1.21362.1

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

Microsoft.NET.ILLink.Tasks
 From Version 6.0.100-preview.6.21358.3 -> To Version 6.0.100-preview.6.21362.3

* Update dependencies from https://github.com/dotnet/hotreload-utils build 20210712.1

Microsoft.DotNet.HotReload.Utils.Generator.BuildTool
 From Version 1.0.1-alpha.0.21361.1 -> To Version 1.0.1-alpha.0.21362.1

* Update dependencies from https://github.com/dotnet/emsdk build 20210713.1

Microsoft.NET.Workload.Emscripten.Manifest-6.0.100
 From Version 6.0.0-preview.7.21362.2 -> To Version 6.0.0-preview.7.21363.1

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
3 years agoAdd one-shot CFB encrypt/decrypt to SymmetricAlgorithm
Kevin Jones [Tue, 13 Jul 2021 18:01:31 +0000 (14:01 -0400)]
Add one-shot CFB encrypt/decrypt to SymmetricAlgorithm

Adds the CFB versions similar to the already-added ECB and CBC versions.

Co-authored-by: Jeremy Barton <jbarton@microsoft.com>
3 years agoFix Tizen ARMEL Build Failure (#55545)
Dong-Heon Jung [Tue, 13 Jul 2021 18:01:19 +0000 (03:01 +0900)]
Fix Tizen ARMEL Build Failure (#55545)

* Fix Tizen ARMEL Build Failure

* Check with MFD_CLOEXEC instead of ARM_SOFTFP

3 years agoRemove C# dynamic support from JsonNode (#55430)
Steve Harter [Tue, 13 Jul 2021 17:57:48 +0000 (12:57 -0500)]
Remove C# dynamic support from JsonNode (#55430)

3 years agoDelayed client certificate (#54692)
Jan Jahoda [Tue, 13 Jul 2021 17:45:59 +0000 (19:45 +0200)]
Delayed client certificate (#54692)

* initial prototype

* Restore TLS 1.2 renegotiation

* First windows functionality merge

* reenable client certificate

* Add more renegotiate tests

* Remove client certificates

* Cleanup

* add test log

* Apply PR comments

* Add Data frame test

* Add drain buffer test

* Fix tls 1.3 incomming app data frame

* Restore verify callback

* Remove debug log

* Remove keylog callback and unused method

* Fix test build

* Attempt to fix openssl version api difference

* Sort shim

* fix build

* CI log

* Restore mac tests

* Add logs

* fix test runs on old openssl

* fix tests

* fix w7 condition

* feedback from review

Co-authored-by: wfurt <tweinfurt@yahoo.com>
3 years agoAdd ConfigurationManager(#55338)
Stephen Halter [Tue, 13 Jul 2021 17:26:42 +0000 (10:26 -0700)]
Add ConfigurationManager(#55338)

* ConfigurationManager : IConfigurationRoot, IConfigurationBuilder

3 years agoH/3 Server Cert validation callback exception fix (#55526)
Marie Píchová [Tue, 13 Jul 2021 17:18:26 +0000 (19:18 +0200)]
H/3 Server Cert validation callback exception fix (#55526)

* Fix and test.

* MsQuicConnection now call the cert validation callback only once, removed code duplication

3 years agoAdd AttributeTargets.Interface to JsonConverterAttribute (#54922)
Eirik Tsarpalis [Tue, 13 Jul 2021 16:57:45 +0000 (19:57 +0300)]
Add AttributeTargets.Interface to JsonConverterAttribute (#54922)

* Allow JsonConverterAttribute usage on interfaces.

Fix #33112

* update ApiCompat baseline

3 years agoQUIC read pipeline changes (#55505)
Natalia Kondratyeva [Tue, 13 Jul 2021 16:49:47 +0000 (18:49 +0200)]
QUIC read pipeline changes (#55505)

This brings changes to read states and behavior done initially in #52929 with my fixes to it to make all tests work

3 years agoImport `cgt.un(op, 0)` as `NE(op, 0)` (#54539)
SingleAccretion [Tue, 13 Jul 2021 16:39:21 +0000 (19:39 +0300)]
Import `cgt.un(op, 0)` as `NE(op, 0)` (#54539)

* Some minor code modernization

Use "genActualType" directly as it is now a templated method.

Don't create casts to TYP_ULONG - they are identical to casts
to TYP_LONG. TYP_ULONG is only relevant for checked casts.

Add a TODO on addressing the duplicated logic that upcasts to
native int from int32 on 64 bit.

Use modern comments.

Zero diffs.

* Normalize GT_UN(op, 0) early in importer

Normalizing this idiom helps downstream optimizations.

* Solve most of the regressions

In morph, when narrowing the AND operand, only
insert casts if necessary - prefer to use "optNarrowTree".
Otherwise we end up with redundant register shuffling.

3 years agoExpose nullability info (#54985)
Buyaa Namnan [Tue, 13 Jul 2021 16:34:34 +0000 (09:34 -0700)]
Expose nullability info (#54985)

* Expose nullability info from Reflection

3 years agoAugment tests for FileMode.Append (#55513)
Stephen Toub [Tue, 13 Jul 2021 16:05:31 +0000 (12:05 -0400)]
Augment tests for FileMode.Append (#55513)

To validate that seeking and writing are valid in the region of the file since its initial length.

3 years agoRename TextMapPropagator to DistributedContextPropagator (#55539)
Tarek Mahmoud Sayed [Tue, 13 Jul 2021 16:00:40 +0000 (09:00 -0700)]
Rename TextMapPropagator to DistributedContextPropagator (#55539)

3 years agoUpdate spin-wait pause/yield normalization (#55295)
Koundinya Veluri [Tue, 13 Jul 2021 15:59:20 +0000 (08:59 -0700)]
Update spin-wait pause/yield normalization (#55295)

Update spin-wait pause/yield normalization

- Modified the measurement to use much less time and to remeasure periodically to reduce CPU usage during startup
- Each measurement does a low-microsecond-level measurement of pause/yield times
- Some small amount of history of recent measurements is retained and used to for now take the lowest measurement for normalization
- Measurements are done lazily, and at most every few seconds another measurement is taken
- Added a profiling event that includes info about a measurement and the established value from recent measurements that is used for normalization

3 years agoImprove resolving runtime pack in WasmApp targets (#55258)
Alexander Köplinger [Tue, 13 Jul 2021 15:12:28 +0000 (17:12 +0200)]
Improve resolving runtime pack in WasmApp targets (#55258)

Use similar logic to `eng/targetingpacks.targets` in `WasmApp.InTree.targets` and `WasmApp.LocalBuild.targets`.

Also set `UseMonoRuntime=true` to make sure we get the Mono-based runtime pack.

3 years agoDo not eliminate casts from FP types (#53667)
SingleAccretion [Tue, 13 Jul 2021 15:10:39 +0000 (18:10 +0300)]
Do not eliminate casts from FP types (#53667)

An optimization in morph was deleting casts
on the RHS of a narrow store if the cast-to-type
was wider than the type being stored. This is only
valid for casts from integral types, as the backend
does not handle "STOREIND(byte*, double)", nor is there
an instruction to go from an XMM register to a narrow
memory location on x86/x64.

The issue is not reproducible right now because
fgMorphCast wraps the casts in question, but it is
an invalid IR transformation nonetheless, and similar
code in fgMorphSmpOpOptional guards against non-integral sources.

3 years agooptimize adding unwind info entries by hashtable (#55398)
Dzmitry Konanka [Tue, 13 Jul 2021 15:02:43 +0000 (18:02 +0300)]
optimize adding unwind info entries by hashtable (#55398)

3 years agoUse interpolated strings in more places
Stephen Toub [Mon, 12 Jul 2021 10:30:34 +0000 (06:30 -0400)]
Use interpolated strings in more places

3 years agoFix LangVersion on several test projects
Stephen Toub [Sat, 10 Jul 2021 14:09:23 +0000 (10:09 -0400)]
Fix LangVersion on several test projects

3 years agoAdd Debug.Assert/Write{Line}If interpolated overloads
Stephen Toub [Fri, 18 Jun 2021 21:57:11 +0000 (17:57 -0400)]
Add Debug.Assert/Write{Line}If interpolated overloads

3 years agoAdd Span.TryWrite, StringBuilder.Append, and String.Create interpolated strings support
Stephen Toub [Wed, 26 May 2021 00:41:54 +0000 (20:41 -0400)]
Add Span.TryWrite, StringBuilder.Append, and String.Create interpolated strings support

3 years agoFix for a couple of Microsoft.XmlSerializer.Generator issues (#55427)
Hong Li [Tue, 13 Jul 2021 13:44:22 +0000 (06:44 -0700)]
Fix for a couple of Microsoft.XmlSerializer.Generator issues (#55427)

* Fix for a couple of Microsoft.XmlSerializer.Generator issues

* fix the name of the AssemblyInfo.cs file

3 years agoProcess.Unix: consider executable permission while searching PATH. (#55504)
Tom Deseyn [Tue, 13 Jul 2021 13:43:49 +0000 (15:43 +0200)]
Process.Unix: consider executable permission while searching PATH. (#55504)

3 years agoFix exception (#55324)
Stefan [Tue, 13 Jul 2021 13:27:54 +0000 (15:27 +0200)]
Fix exception (#55324)

3 years agoUse ReflectionOnly as data contract serializer option for iOS/tvOS/MacCatalyst (...
Maxim Lipnin [Tue, 13 Jul 2021 13:16:17 +0000 (16:16 +0300)]
Use ReflectionOnly as data contract serializer option for iOS/tvOS/MacCatalyst (#55503)

An attempt to address #47114 by making the System.Runtime.Serialization.DataContractSerializer.Option property return ReflectionOnly value when RuntimeFeature.IsDynamicCodeSupported is true.

3 years agoFix UMThunkMarshInfo delete (#55559)
Jan Vorlicek [Tue, 13 Jul 2021 13:04:15 +0000 (15:04 +0200)]
Fix UMThunkMarshInfo delete (#55559)

There was a forgotten call to c++ delete that should have been converted
to LoaderHeap::BackoutMem in a code path invoked only if two threads
raced for allocating the UMThunkMarshInfo and the one that lost the race
needed to delete it.

3 years agoFix nullable warning in AssemblyLoadContext30Extensions.cs
Stephen Toub [Tue, 13 Jul 2021 01:37:58 +0000 (21:37 -0400)]
Fix nullable warning in AssemblyLoadContext30Extensions.cs

3 years agoAvoid obscuring failure by ODE thrown from Dispose
Stephen Toub [Mon, 12 Jul 2021 19:18:29 +0000 (15:18 -0400)]
Avoid obscuring failure by ODE thrown from Dispose

3 years agoWorkaround eventpipe deadlock due to ArrayPool usage
Stephen Toub [Mon, 12 Jul 2021 18:32:36 +0000 (14:32 -0400)]
Workaround eventpipe deadlock due to ArrayPool usage

3 years agoTemporarily remove string interpolation from NetCoreServer test helper
Stephen Toub [Mon, 12 Jul 2021 16:54:46 +0000 (12:54 -0400)]
Temporarily remove string interpolation from NetCoreServer test helper

3 years agoFix async method builder override tests for compiler constraint
Stephen Toub [Sat, 10 Jul 2021 13:56:43 +0000 (09:56 -0400)]
Fix async method builder override tests for compiler constraint

3 years agoUpdate pinned C# compiler version
Stephen Toub [Fri, 9 Jul 2021 19:25:19 +0000 (15:25 -0400)]
Update pinned C# compiler version

3 years agoAdjust crypto shim for functions renamed for OSSL3 beta1
Jeremy Barton [Tue, 13 Jul 2021 08:38:33 +0000 (01:38 -0700)]
Adjust crypto shim for functions renamed for OSSL3 beta1

3 years agoAllow multiple private key references in Unix PFXes
Jeremy Barton [Tue, 13 Jul 2021 08:37:09 +0000 (01:37 -0700)]
Allow multiple private key references in Unix PFXes

Windows has a complicated state for when a PFX contains two certificates that link to the same private key:

* EphemeralKeySet: The PFX load fails.
* PersistKeySet: Things probably work.
* (normal): "It's complicated".

When the Unix PFX loader was written it was based on the EphemeralKeySet behavior,
because that's what the tests used (to avoid disk penalties and problems).

Trying to maintain a balance between Herculean efforts of bug-for-bug compatibility
and OS variability, this change takes a simpler approach:

* EphemeralKeySet: The PFX load fails, like it will on Windows.
* Otherwise: Let it work (but always with cloned keys, so some of the subtle Windows undesirable states are lost).

3 years agoFix bad folding (#54722)
SingleAccretion [Tue, 13 Jul 2021 08:35:10 +0000 (11:35 +0300)]
Fix bad folding (#54722)

* Always sign-extend from int32 in gtFoldExprConst

GT_CNS_INT of TYP_INT on 64 hosts has an implicit contract:
the value returned by IconValue() must "fit" into 32 bit
signed integer, i. e. "static_cast<int>(IconValue()) == IconValue()".
gtFoldExprConst was failing to uphold this contract when the target
was 32 bit and the host was 64 bit.

Fix this by always truncating before calling SetIconValue().

* Add a simple test that reproduces bad codegen

3 years agoLast set of ILLink annotations related to System.Data.Common (#55507)
Krzysztof Wicher [Tue, 13 Jul 2021 08:05:43 +0000 (10:05 +0200)]
Last set of ILLink annotations related to System.Data.Common (#55507)

* Last set of ILLink annotations related to System.Data.Common

* apply feedback

3 years agoChange server paths to use LOCALHOST (#55523)
David Cantú [Tue, 13 Jul 2021 07:50:00 +0000 (00:50 -0700)]
Change server paths to use LOCALHOST (#55523)

3 years agoKeep looking up derived chain for Property.Get if it doesn't exist. (#52509)
Steve Molloy [Tue, 13 Jul 2021 07:27:06 +0000 (00:27 -0700)]
Keep looking up derived chain for Property.Get if it doesn't exist. (#52509)

3 years agoUse scopes to resolve array naming issue. (#55451)
Steve Molloy [Tue, 13 Jul 2021 07:18:55 +0000 (00:18 -0700)]
Use scopes to resolve array naming issue. (#55451)

* Use scope to avoid using duplicate names for arrays in ILGen serializer.

* Remove comment.

3 years agoHandle nullable primitives before passing them to WritePrimitive which expects non...
Steve Molloy [Tue, 13 Jul 2021 07:18:13 +0000 (00:18 -0700)]
Handle nullable primitives before passing them to WritePrimitive which expects non-null values. (#54800)

3 years agoEnreg structs x86 windows. (#55535)
Sergey Andreenko [Tue, 13 Jul 2021 06:18:32 +0000 (23:18 -0700)]
Enreg structs x86 windows. (#55535)

* Mark more cases as DoNotEnreg before CSE.

There are CSE metrics that take into account how many potential enreg locals
do we have.

* enable for x86.

3 years agoEnable property visibility tests in source-gen mode (#54526)
Layomi Akinrinade [Tue, 13 Jul 2021 04:11:25 +0000 (21:11 -0700)]
Enable property visibility tests in source-gen mode (#54526)

* Enable property visibility tests in source-gen mode

* Address feedback

* Fix S.N.H.Json tests

* Fix S.T.J tests

* Fix S.N.H.J tests ii

3 years agoDisable GetHostEntry tests on SLES. (#55543)
Juan Hoyos [Tue, 13 Jul 2021 03:05:15 +0000 (20:05 -0700)]
Disable GetHostEntry tests on SLES. (#55543)

3 years agoswitch to using CSTRMarshaller instead of AnsiBSTR (#55032)
Manish Godse [Tue, 13 Jul 2021 02:48:55 +0000 (19:48 -0700)]
switch to using CSTRMarshaller instead of AnsiBSTR (#55032)

* switch to using CSTRMarshaller instead of AnsiBSTR

* cleanup

* Add CleanupManaged back

Updated the cleanup logic to the one implemented in ILOptimizedAllocMarshaler::EmitClearNative

* update MAX_LOCAL_BUFFER_LENGTH

* CR feedback

3 years ago[main] Update dependencies from 6 repositories (#55395)
dotnet-maestro[bot] [Tue, 13 Jul 2021 02:40:24 +0000 (21:40 -0500)]
[main] Update dependencies from 6 repositories (#55395)

* Update dependencies from https://github.com/dotnet/runtime-assets build 20210708.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.Numerics.TestData , System.Runtime.TimeZoneData , System.Security.Cryptography.X509Certificates.TestData , System.Windows.Extensions.TestData
 From Version 6.0.0-beta.21356.1 -> To Version 6.0.0-beta.21358.1

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

Microsoft.NET.ILLink.Tasks
 From Version 6.0.100-preview.6.21357.1 -> To Version 6.0.100-preview.6.21358.3

* Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimization build 20210709.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.21357.3 -> To Version 1.0.0-prerelease.21359.4

* Update dependencies from https://github.com/dotnet/hotreload-utils build 20210709.1

Microsoft.DotNet.HotReload.Utils.Generator.BuildTool
 From Version 1.0.1-alpha.0.21355.1 -> To Version 1.0.1-alpha.0.21359.1

* Update dependencies from https://github.com/dotnet/hotreload-utils build 20210710.1

Microsoft.DotNet.HotReload.Utils.Generator.BuildTool
 From Version 1.0.1-alpha.0.21355.1 -> To Version 1.0.1-alpha.0.21360.1

* Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimization build 20210711.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.21357.3 -> To Version 1.0.0-prerelease.21361.3

* Update dependencies from https://github.com/dotnet/runtime build 20210711.10

Microsoft.NETCore.DotNetHost , Microsoft.NETCore.DotNetHostPolicy , Microsoft.NETCore.ILAsm , runtime.native.System.IO.Ports , Microsoft.NET.Sdk.IL , System.Runtime.CompilerServices.Unsafe , System.Text.Json
 From Version 6.0.0-preview.7.21355.1 -> To Version 6.0.0-preview.7.21361.10

* Update dependencies from https://github.com/dotnet/hotreload-utils build 20210711.1

Microsoft.DotNet.HotReload.Utils.Generator.BuildTool
 From Version 1.0.1-alpha.0.21355.1 -> To Version 1.0.1-alpha.0.21361.1

* Update dependencies from https://github.com/dotnet/emsdk build 20210712.1

Microsoft.NET.Workload.Emscripten.Manifest-6.0.100
 From Version 6.0.0-preview.7.21358.1 -> To Version 6.0.0-preview.7.21362.1

* Update dependencies from https://github.com/dotnet/emsdk build 20210712.2

Microsoft.NET.Workload.Emscripten.Manifest-6.0.100
 From Version 6.0.0-preview.7.21358.1 -> To Version 6.0.0-preview.7.21362.2

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
3 years agoMove the "do not zero-extend setcc" optimization to lower (#53778)
SingleAccretion [Tue, 13 Jul 2021 00:38:46 +0000 (03:38 +0300)]
Move the "do not zero-extend setcc" optimization to lower (#53778)

* Strongly type StoreInd lowering

* Improve clarity of code through the use of helpers

* Move the "do not zero-extend setcc" to lowering

It is XARCH-specific and moving it eliminates questionable code
that is trying to compensate for CSE changing the store.

* Delete now unnecessary copying of the relop type

3 years ago[mono][debugger] Support debug after hot-reload (#55220)
Thays Grazia [Tue, 13 Jul 2021 00:27:30 +0000 (21:27 -0300)]
[mono][debugger] Support debug after hot-reload  (#55220)

* Add test case for debug after hot reload.

* Implementing debug after hot reload, on runtime side, and on client side for wasm.

* Reuse some code.

* Remove unrelated comment.

* Reuse code.

* Refactor new code.

* Fix log.

* Apply suggestions from code review

Co-authored-by: Aleksey Kliger (λgeek) <akliger@gmail.com>
* Fixing hot reload without debug information.

* replacing spaces with tabs.

* Fixing CI.

Co-authored-by: Aleksey Kliger (λgeek) <akliger@gmail.com>
3 years agoChange RandomAccess.Write* methods to be void-returning (#55490)
Stephen Toub [Mon, 12 Jul 2021 23:39:21 +0000 (19:39 -0400)]
Change RandomAccess.Write* methods to be void-returning (#55490)

3 years agoImprove perf of Utf8Parser.TryParse(out [u]long, default) (#52423)
Levi Broderick [Mon, 12 Jul 2021 23:14:26 +0000 (16:14 -0700)]
Improve perf of Utf8Parser.TryParse(out [u]long, default) (#52423)

3 years agoFix more alloc-dealloc mismatches and use-after-scopes (#55420)
Jeremy Koritzinsky [Mon, 12 Jul 2021 22:55:26 +0000 (15:55 -0700)]
Fix more alloc-dealloc mismatches and use-after-scopes (#55420)

* Fix another dynamically-sized allocation to use new/delete instead of the mismatched new[]/delete.

* Fix use-after-scope

* Fix another alloc-dealloc mismatch

* Update src/coreclr/vm/threadstatics.cpp

Co-authored-by: Jan Kotas <jkotas@microsoft.com>
* Use standard size_t instead of custom SIZE_T typedef.

* Fix formatting.

Co-authored-by: Jan Kotas <jkotas@microsoft.com>
3 years agoLook up the ICustomMarshaler implementation methods based on runtime type (#55439)
Jeremy Koritzinsky [Mon, 12 Jul 2021 21:47:52 +0000 (14:47 -0700)]
Look up the ICustomMarshaler implementation methods based on runtime type (#55439)

3 years agoFile.Unix: Replace: increase Windows compatibility (#50234)
Tom Deseyn [Mon, 12 Jul 2021 21:22:17 +0000 (23:22 +0200)]
File.Unix: Replace: increase Windows compatibility (#50234)

* File.Unix: Replace: increase Windows compatibility

- When source and destination are not a file throw UnauthorizedAccessException.
- When source and destination are the same file throw IOException.

* Include paths in exception message

Co-authored-by: Jeff Handley <jeff.handley@microsoft.com>
3 years agoExpose the platform directly for apple products (#55381)
Larry Ewing [Mon, 12 Jul 2021 20:37:40 +0000 (15:37 -0500)]
Expose the platform directly for apple products (#55381)

Co-authored-by: Steve Pfister <steve.pfister@microsoft.com>
3 years agoPrevent AV in processinfo2 while suspended (#55379)
John Salem [Mon, 12 Jul 2021 20:02:28 +0000 (13:02 -0700)]
Prevent AV in processinfo2 while suspended (#55379)

3 years agoImplement part of SslCertificateTrust (#55104)
Tomas Weinfurt [Mon, 12 Jul 2021 19:57:21 +0000 (12:57 -0700)]
Implement part of SslCertificateTrust  (#55104)

* snatpshot

* snapshot

* add csproj'

* update

* more ckeanup

* more cleanup

* feedback from review

* fix mail tests

* feedabck from review

* feedback from review

* make constructor private

3 years agoRemove NuGet config in HTTP stress (#55519)
Juan Hoyos [Mon, 12 Jul 2021 19:24:17 +0000 (12:24 -0700)]
Remove NuGet config in HTTP stress (#55519)

3 years ago[mono] Add some WASM AOT documention. (#55498)
Zoltan Varga [Mon, 12 Jul 2021 17:59:13 +0000 (13:59 -0400)]
[mono] Add some WASM AOT documention. (#55498)

3 years agoUse inline Vector{128|256}.Create for constants (#54827)
Günther Foidl [Mon, 12 Jul 2021 16:53:50 +0000 (18:53 +0200)]
Use inline Vector{128|256}.Create for constants (#54827)

* Used VectorXYZ.Create for constants in Base64

* Used VectorXYZ.Create for constants in BitArray

* Remove conditional compilation

It's only built for NetCoreAppCurrent, so no need to special case older runtimes.