platform/upstream/dotnet/runtime.git
2 years agoDon't consider classes that do not have any attributes or base classes (#58004)
github-actions[bot] [Thu, 26 Aug 2021 14:03:33 +0000 (08:03 -0600)]
Don't consider classes that do not have any attributes or base classes (#58004)

2 years agoMerge pull request #58034 from dotnet-maestro-bot/merge/release/6.0-rc1-to-release/6.0
Viktor Hofer [Thu, 26 Aug 2021 10:32:08 +0000 (12:32 +0200)]
Merge pull request #58034 from dotnet-maestro-bot/merge/release/6.0-rc1-to-release/6.0

[automated] Merge branch 'release/6.0-rc1' => 'release/6.0'

2 years agoUpdate dependencies from https://github.com/dotnet/icu build 20210825.1 (#58138)
dotnet-maestro[bot] [Thu, 26 Aug 2021 10:27:41 +0000 (12:27 +0200)]
Update dependencies from https://github.com/dotnet/icu build 20210825.1 (#58138)

Microsoft.NETCore.Runtime.ICU.Transport
 From Version 6.0.0-rc.2.21419.2 -> To Version 6.0.0-rc.2.21425.1

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
2 years agoUpdate dependencies from https://github.com/dotnet/emsdk build 20210825.6 (#58149)
dotnet-maestro[bot] [Thu, 26 Aug 2021 10:25:14 +0000 (12:25 +0200)]
Update dependencies from https://github.com/dotnet/emsdk build 20210825.6 (#58149)

Microsoft.NET.Workload.Emscripten.Manifest-6.0.100
 From Version 6.0.0-rc.2.21423.1 -> To Version 6.0.0-rc.2.21425.6

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
2 years ago[release/6.0] Improve tracing of HTTP/2 PINGs (#57930)
github-actions[bot] [Thu, 26 Aug 2021 04:35:10 +0000 (22:35 -0600)]
[release/6.0] Improve tracing of HTTP/2 PINGs (#57930)

* more HTTP/2 PING logging

* test unexpected PING response

Co-authored-by: Anton Firszov <antonfir@gmail.com>
2 years agoFix nullability bug (#58102)
github-actions[bot] [Wed, 25 Aug 2021 18:05:49 +0000 (12:05 -0600)]
Fix nullability bug (#58102)

Co-authored-by: Buyaa Namnan <bunamnan@microsoft.com>
2 years agoAllow configuration binder to bind single elements to array (#58060)
Maryam Ariyan [Wed, 25 Aug 2021 18:05:16 +0000 (14:05 -0400)]
Allow configuration binder to bind single elements to array (#58060)

* Allow ConfigBinder to bind arrays to Singular elements (#57204)

* Apply feedback from PR #57204 (#57872)

Co-authored-by: vidommet <80355385+vidommet@users.noreply.github.com>
2 years agoSupport reference type custom converters (#57954)
github-actions[bot] [Wed, 25 Aug 2021 17:38:03 +0000 (10:38 -0700)]
Support reference type custom converters (#57954)

Co-authored-by: Steve Harter <steveharter@users.noreply.github.com>
2 years agoFixing DebuggerDisplayAttribute when using utf16 characters. Fixes #58046 (#58087)
github-actions[bot] [Wed, 25 Aug 2021 17:37:52 +0000 (10:37 -0700)]
Fixing DebuggerDisplayAttribute when using utf16 characters. Fixes #58046 (#58087)

Co-authored-by: Thays <thaystg@gmail.com>
2 years agoFix trigger paths for perf_slow.yml (#58077)
Drew Scoggins [Wed, 25 Aug 2021 16:20:09 +0000 (09:20 -0700)]
Fix trigger paths for perf_slow.yml (#58077)

2 years ago[release/6.0-rc1] Support special characters in [JsonPropertyName] (#58075)
github-actions[bot] [Wed, 25 Aug 2021 15:46:30 +0000 (08:46 -0700)]
[release/6.0-rc1] Support special characters in [JsonPropertyName] (#58075)

* Support special characters in [JsonPropertyName]

* Make gen'd property name readonly; other misc

Co-authored-by: Steve Harter <steveharter@users.noreply.github.com>
2 years ago[release/6.0-rc1] Add event to RuntimeEventSource for AppContext switches (#57847)
github-actions[bot] [Wed, 25 Aug 2021 15:45:46 +0000 (08:45 -0700)]
[release/6.0-rc1] Add event to RuntimeEventSource for AppContext switches (#57847)

* Add event to RuntimeEventSource for AppContext switches

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

* Respond to PR comments

* Add preliminary tests

* Respond to PR comments

* Add keyword

* Fix tests

* Remove AppContext EventSource support on browser

* forgot using

* Fix error reporting, add comments

* Respond to PR comments

* Refactor tests

* Fix case where s_switches is null

* Fix bug

* Print more info for test failure

* Typo

* Fix lab failure

* Respond to PR comments

* Respond to PR comments

* Typo

* Respond to PR comments

* Skip RuntimeEventSource tests on wasm and android (#57890)

* Skip RuntimeEventSource tests on wasm and android

* Skip tests without using issues.targets

* Disable test for mono

(cherry picked from commit 454ac571fe489ab818c7727f11eee71d521c4366)

Co-authored-by: Andy Gocke <angocke@microsoft.com>
2 years ago[release/6.0] Fix enum memory code paths (#58076)
github-actions[bot] [Wed, 25 Aug 2021 15:26:12 +0000 (08:26 -0700)]
[release/6.0] Fix enum memory code paths (#58076)

* Fix enum memory code paths

* Fix wks enumeration

Co-authored-by: Andrew Au <andrewau@microsoft.com>
2 years agoFix Enum.Parse's parse failure exception to include value in error message (#57975)
github-actions[bot] [Wed, 25 Aug 2021 02:07:14 +0000 (22:07 -0400)]
Fix Enum.Parse's parse failure exception to include value in error message (#57975)

Co-authored-by: Stephen Toub <stoub@microsoft.com>
2 years agoFix nullable annotations for AssociatedMetadataTypeTypeDescriptionProvider (#57979)
github-actions[bot] [Tue, 24 Aug 2021 22:43:22 +0000 (16:43 -0600)]
Fix nullable annotations for AssociatedMetadataTypeTypeDescriptionProvider (#57979)

Co-authored-by: Stephen Toub <stoub@microsoft.com>
2 years agoAdditional statistics when a ServiceProvider is created (#58030)
github-actions[bot] [Tue, 24 Aug 2021 20:50:27 +0000 (13:50 -0700)]
Additional statistics when a ServiceProvider is created (#58030)

* Number of open generics
* Number of closed generics

fix #52364

Co-authored-by: Allan Targino <13934447+allantargino@users.noreply.github.com>
2 years ago[release/6.0-rc1] [wasm][debugger] Fixing assert while debugging. (#58032)
github-actions[bot] [Tue, 24 Aug 2021 20:37:20 +0000 (16:37 -0400)]
[release/6.0-rc1] [wasm][debugger] Fixing assert while debugging. (#58032)

When trying to evaluate DebuggerProxyAttribute of a generic type <T, K>, it was working only for one parameter .

Fixes #58021

Co-authored-by: Thays <thaystg@gmail.com>
2 years ago[interp] Use existing InterpMethod if allocation and lookup race (#57985)
github-actions[bot] [Tue, 24 Aug 2021 19:27:13 +0000 (15:27 -0400)]
[interp] Use existing InterpMethod if allocation and lookup race (#57985)

If two threads both want to get an InterpMethod for the same MonoMethod, and
they both see null from the first hash table lookup, make sure that whichever
one comes into the jit_mm lock second re-uses the previously inserted
InterpMethod, instead of its own version.

Without this change, racing threads will overwrite
MonoJitInfo:seq_points (in mono_interp_transform_method) which sometimes leads
to deallocating the same sequence points multiple times.

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

Co-authored-by: Aleksey Kliger <alklig@microsoft.com>
2 years ago[wasm][debugger] Proxy but don't process events from worker sessions (#57990)
github-actions[bot] [Tue, 24 Aug 2021 19:25:36 +0000 (15:25 -0400)]
[wasm][debugger] Proxy but don't process events from worker sessions (#57990)

Backport of #57974

Should Fix #57949

Co-authored-by: Larry Ewing <lewing@microsoft.com>
2 years ago[release/6.0-rc1] MonoAOTCompiler: Check for proxy file's target only when the cache...
Ankit Jain [Tue, 24 Aug 2021 19:23:45 +0000 (19:23 +0000)]
[release/6.0-rc1] MonoAOTCompiler: Check for proxy file's target only when the cache is being used. (#57867)

Backport of #57865

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

2 years agoFix loading app local ICU (#57992)
github-actions[bot] [Tue, 24 Aug 2021 17:46:44 +0000 (19:46 +0200)]
Fix loading app local ICU (#57992)

Co-authored-by: Tarek Mahmoud Sayed <tarekms@microsoft.com>
2 years ago[release/6.0] Move GreaterThan2GBFile_SendsAllBytes to a non-parallel test collection...
github-actions[bot] [Tue, 24 Aug 2021 17:06:53 +0000 (11:06 -0600)]
[release/6.0] Move GreaterThan2GBFile_SendsAllBytes to a non-parallel test collection (#58002)

* Move GreaterThan2GBFile_SendsAllBytes to a non-parallel test collection

* Update SendFile.cs

Co-authored-by: Anton Firszov <antonfir@gmail.com>
Co-authored-by: Anton Firszov <Anton.Firszov@microsoft.com>
2 years ago[release/6.0-rc1] [HTTP/3] Abort response stream on dispose if content not finished...
github-actions[bot] [Tue, 24 Aug 2021 17:02:08 +0000 (11:02 -0600)]
[release/6.0-rc1] [HTTP/3] Abort response stream on dispose if content not finished (#57999)

* Sends abort read/write if H/3 stream is disposed before respective contents are finsihed

* Minor tweaks in abort conditions

* Prevent reverting SendState from Aborted/ConnectionClosed back to sending state within Send* methods.

Co-authored-by: ManickaP <mapichov@microsoft.com>
Co-authored-by: Marie Píchová <11718369+ManickaP@users.noreply.github.com>
2 years ago[release/6.0-rc1] Improve tracing of HTTP/2 PINGs (#57998)
github-actions[bot] [Tue, 24 Aug 2021 16:58:49 +0000 (10:58 -0600)]
[release/6.0-rc1] Improve tracing of HTTP/2 PINGs (#57998)

* more HTTP/2 PING logging

* test unexpected PING response

Co-authored-by: Anton Firszov <antonfir@gmail.com>
2 years ago[release/6.0-rc1] Fixed StreamPipeReader.CopyToAsync (#57966)
github-actions[bot] [Tue, 24 Aug 2021 16:17:36 +0000 (10:17 -0600)]
[release/6.0-rc1] Fixed StreamPipeReader.CopyToAsync (#57966)

* Fixed StreamPipeReader.CopyToAsync - Take the segment index into account when copying buffered data. This handles the case where ReadAsync has consumed a partial segment and then the same PipeReader instance is used to copy to a Stream and PipeWriter. - Added tests

* Always slice

Co-authored-by: David Fowler <davidfowl@gmail.com>
2 years agoMerge pull request #57969 from dotnet-maestro-bot/merge/release/6.0-rc1-to-release/6.0
Viktor Hofer [Tue, 24 Aug 2021 10:16:56 +0000 (12:16 +0200)]
Merge pull request #57969 from dotnet-maestro-bot/merge/release/6.0-rc1-to-release/6.0

[automated] Merge branch 'release/6.0-rc1' => 'release/6.0'

2 years agoDisable S.T.J.Serialization.Tests.ConstructorTests.PathForChildDictionaryFails (...
Steve Harter [Tue, 24 Aug 2021 06:42:48 +0000 (01:42 -0500)]
Disable S.T.J.Serialization.Tests.ConstructorTests.PathForChildDictionaryFails (#57834)

2 years ago[release/6.0-rc1] Align DCJS with 4.8 implementation. (#57883)
github-actions[bot] [Tue, 24 Aug 2021 06:35:54 +0000 (08:35 +0200)]
[release/6.0-rc1] Align DCJS with 4.8 implementation. (#57883)

* Align DCJS with 4.8 version. This work addresses #55270.

* Close() nits.

* Remove some extraneous trimmer attributes.

* Another trimmer nit.

Co-authored-by: Steve Molloy <smolloy@microsoft.com>
2 years ago[release/6.0] Update dependencies from dotnet/emsdk dotnet/runtime-assets (#57925)
dotnet-maestro[bot] [Tue, 24 Aug 2021 06:34:39 +0000 (08:34 +0200)]
[release/6.0] Update dependencies from dotnet/emsdk dotnet/runtime-assets (#57925)

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

Microsoft.NET.Workload.Emscripten.Manifest-6.0.100
 From Version 6.0.0-rc.1.21419.1 -> To Version 6.0.0-rc.2.21423.1

* Update dependencies from https://github.com/dotnet/runtime-assets build 20210823.1

Microsoft.DotNet.CilStrip.Sources , 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.21416.1 -> To Version 6.0.0-beta.21423.1

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
2 years ago[release/6.0] Fix stress issues around multiple threads throwing the same exceptions...
github-actions[bot] [Mon, 23 Aug 2021 22:55:48 +0000 (15:55 -0700)]
[release/6.0] Fix stress issues around multiple threads throwing the same exceptions (#57959)

* Fix stress issues around multiple threads throwing the same exceptions - The watson codebase manipulates the state of the following fields on Exception in a lock-free manner without locks if there are multiple threads throwing the same exception - _stackTrace - _stackTraceString - _remoteStackTraceString - _watsonBuckets - _ipForWatsonBuckets - The designed behavior is that these apis should "mostly" be correct, but as they are only used for fatal shutdown scenarios, exact correctness is not required for correct program execution - However, there are some race conditions that have been seen recently in testing 1. In some circumstances, the value will be explicitly read from multiple times, where the first read is to check for NULL, and then a second read is to read the actual value and use it in some way. In the presence of a race which sets the value to NULL, the runtime can crash. To fix this, the code is refactored in cases which could lead to crashes with a single read, and carrying around the read value to where it needs to go. 2. Since the C++ memory model generally allows a single read written in C++ to be converted into multiple reads if the compiler can prove that the read does not cross a lock/memory barrier, it is possible for the C++ compiler to inject multiple reads where the logic naturally only has 1. The fix for this is to utlilize the VolatileLoadWithoutBarrier api to specify that a read should happen once in cases where it might cause a problem.

Finally, the test45929 was tended to fail in GC stress as it would take a very long time to run under GC stress or on some hardware. Adjust it so that it shuts down after about 2.5 minutes.
- Do this instead of disabling running under gcstress as there is evidence that there may have been bugs seen during runs under gcstress.

Fixes #46803

* Rename as per suggestion

Co-authored-by: David Wrighton <davidwr@microsoft.com>
2 years ago[release/6.0-rc1] Enable SocketHttpHandler to decompress zlib or deflate (#57940)
github-actions[bot] [Mon, 23 Aug 2021 19:57:39 +0000 (15:57 -0400)]
[release/6.0-rc1] Enable SocketHttpHandler to decompress zlib or deflate (#57940)

* Enable SocketHttpHandler to decompress zlib or deflate

Some servers incorrectly implement the deflate content-coding with the raw deflate algorithm rather than with deflate wrapped with a zlib header/footer.  Auto-detect whether to use ZLibStream or DeflateStream in order to accomodate both kinds of responses.

* Fix test build for WinHttpHandler on .NET Framework

* Apply suggestions from code review

* Add decompression test for empty response body

* Add decompression tests for multiple source content lengths

Co-authored-by: Stephen Toub <stoub@microsoft.com>
2 years agoMerge pull request #57854 from dotnet-maestro-bot/merge/release/6.0-rc1-to-release/6.0
Viktor Hofer [Mon, 23 Aug 2021 15:33:32 +0000 (17:33 +0200)]
Merge pull request #57854 from dotnet-maestro-bot/merge/release/6.0-rc1-to-release/6.0

[automated] Merge branch 'release/6.0-rc1' => 'release/6.0'

2 years ago[release/6.0] Don't regress SkipLocalsInit optimization on < 6.0 .NETCoreApp assets...
Viktor Hofer [Mon, 23 Aug 2021 15:11:01 +0000 (17:11 +0200)]
[release/6.0] Don't regress SkipLocalsInit optimization on < 6.0 .NETCoreApp assets (#57868)

* Don't regress SkipLocalsInit optimization on net5.0 assets

netcoreapp3.1 and net5.0 assets which are part of the Microsoft.NETCore.App shared framework and ship inside a package need to keep the SkipLocalsInit optimization to avoid regressing perf. This would happen when referencing one of the 6.0 packages but consuming either the netcoreapp3.1 or net5.0 asset in it. The higher assembly version of the netcoreapp3.1/net5.0 asset would win over the same asset in the shared framework and without this fix, the SkipLocalsInit optimization would be lost.

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

2 years ago[release/6.0] Fix QUIC ConnectionState NRE in HandleEventConnectionClose (#57742)
github-actions[bot] [Mon, 23 Aug 2021 15:09:17 +0000 (09:09 -0600)]
[release/6.0] Fix QUIC ConnectionState NRE in HandleEventConnectionClose (#57742)

* Fix QUIC ConnectionState NRE in HandleEventConnectionClose

* Remove unnecessary Dispose

Co-authored-by: Natalia Kondratyeva <knatalia@microsoft.com>
2 years agoMerge branch 'release/6.0' into merge/release/6.0-rc1-to-release/6.0
Viktor Hofer [Mon, 23 Aug 2021 13:32:15 +0000 (15:32 +0200)]
Merge branch 'release/6.0' into merge/release/6.0-rc1-to-release/6.0

2 years agoAdd Fedora 36 to the RID graph (#57833)
Omair Majid [Mon, 23 Aug 2021 13:26:54 +0000 (09:26 -0400)]
Add Fedora 36 to the RID graph (#57833)

Backport of #57832

Fedora 36 is under development:

    $ podman run -it registry.fedoraproject.org/fedora:rawhide /bin/cat /etc/os-release
    NAME="Fedora Linux"
    VERSION="36 (Container Image Prerelease)"
    ID=fedora
    VERSION_ID=36
    VERSION_CODENAME=""
    PLATFORM_ID="platform:f36"
    PRETTY_NAME="Fedora Linux 36 (Container Image Prerelease)"
    ANSI_COLOR="0;38;2;60;110;180"
    LOGO=fedora-logo-icon
    CPE_NAME="cpe:/o:fedoraproject:fedora:36"
    HOME_URL="https://fedoraproject.org/"
    DOCUMENTATION_URL="https://docs.fedoraproject.org/en-US/fedora/rawhide/system-administrators-guide/"
    SUPPORT_URL="https://fedoraproject.org/wiki/Communicating_and_getting_help"
    BUG_REPORT_URL="https://bugzilla.redhat.com/"
    REDHAT_BUGZILLA_PRODUCT="Fedora"
    REDHAT_BUGZILLA_PRODUCT_VERSION=rawhide
    REDHAT_SUPPORT_PRODUCT="Fedora"
    REDHAT_SUPPORT_PRODUCT_VERSION=rawhide
    PRIVACY_POLICY_URL="https://fedoraproject.org/wiki/Legal:PrivacyPolicy"
    VARIANT="Container Image"
    VARIANT_ID=container

2 years agoDisable TaskDropsExecutionContextUponCompletion test (#57864)
github-actions[bot] [Sat, 21 Aug 2021 12:04:29 +0000 (08:04 -0400)]
Disable TaskDropsExecutionContextUponCompletion test (#57864)

Co-authored-by: Stephen Toub <stoub@microsoft.com>
2 years agoupdate to compaitibility package (#57783)
Anirudh Agnihotry [Sat, 21 Aug 2021 02:34:59 +0000 (19:34 -0700)]
update to compaitibility package (#57783)

2 years agoRemove run trigger (#57850)
Drew Scoggins [Fri, 20 Aug 2021 23:11:46 +0000 (16:11 -0700)]
Remove run trigger (#57850)

Co-authored-by: dotnet-maestro[bot] <42748379+dotnet-maestro[bot]@users.noreply.github.com>
2 years agoMove to 6.0 only for release runs (#57848)
Drew Scoggins [Fri, 20 Aug 2021 23:11:27 +0000 (16:11 -0700)]
Move to 6.0 only for release runs (#57848)

2 years ago[release/6.0] Fix Culture creation regression when using invalid names on Windows...
github-actions[bot] [Fri, 20 Aug 2021 22:16:32 +0000 (15:16 -0700)]
[release/6.0] Fix Culture creation regression when using invalid names on Windows (#57853)

* Fix Culture creation regression when using invalid names on Windows

* Address the feedback

Co-authored-by: Tarek Mahmoud Sayed <tarekms@microsoft.com>
2 years agoUpdate toolset MicrosoftNETCoreApp version This package no longer exists. Replace...
github-actions[bot] [Fri, 20 Aug 2021 22:15:21 +0000 (15:15 -0700)]
Update toolset MicrosoftNETCoreApp version This package no longer exists. Replace with runtime package version and appropriate property. (#57829)

Co-authored-by: Matt Mitchell <mmitche@microsoft.com>
2 years agoRe-disable AsyncMethodsDropsStateMachineAndExecutionContextUponCompletion test (...
github-actions[bot] [Fri, 20 Aug 2021 20:35:14 +0000 (16:35 -0400)]
Re-disable AsyncMethodsDropsStateMachineAndExecutionContextUponCompletion test (#57761)

Co-authored-by: Stephen Toub <stoub@microsoft.com>
2 years ago[release/6.0-rc1] [mono][debugger] Fix watch of local variable values (#57787)
github-actions[bot] [Fri, 20 Aug 2021 20:22:03 +0000 (13:22 -0700)]
[release/6.0-rc1] [mono][debugger] Fix watch of local variable values (#57787)

* Fix xamarin-android 6161

* Fixing leak.

* Adding wasm debugger test. Fixing using protocol version.

* only get locals in older protocol versions.

Co-authored-by: Thays <thaystg@gmail.com>
2 years ago[release/6.0-rc1] [hot_reload] Don't look at delta method table rows (#57799)
github-actions[bot] [Fri, 20 Aug 2021 20:21:55 +0000 (13:21 -0700)]
[release/6.0-rc1] [hot_reload] Don't look at delta method table rows (#57799)

* Add test case

Call a method for the first time after an update has been applied to it.

This will check that the interpreter or JIT does not have to rely on cached
information from the baseline (about the method signature, for example) and
that it can compute it from the delta.

* [hot_reload] Don't look at delta method table rows

The issue is that the ParamList column in EnC deltas is a "suppressed column"
that has the value 0.  So when a method is updated if we use the value
directly, we will break, for example - `mono_metadata_get_param_attrs` which
expects a non-zero index in that column.

CoreCLR solves this by having a set of suppressed columns that are never
updated by deltas.  (CoreCLR's model is to directly mutate the tables of the
baseline image).  In Mono we can eventually do the same thing by writing the
value from the previous generation into the current delta's row.  But right now
since we don't allow parameter modifications, and the only column on a Method
table that we allow to be modified is the RVA - which we look up specially - we
can just always return the baseline image row for the method table.

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

Co-authored-by: Aleksey Kliger <alklig@microsoft.com>
2 years agoUpdate toolset MicrosoftNETCoreApp version This package no longer exists. Replace...
github-actions[bot] [Fri, 20 Aug 2021 17:53:29 +0000 (10:53 -0700)]
Update toolset MicrosoftNETCoreApp version This package no longer exists. Replace with runtime package version and appropriate property. (#57828)

Co-authored-by: Matt Mitchell <mmitche@microsoft.com>
2 years agoMerge pull request #57740 from dotnet-maestro-bot/merge/release/6.0-rc1-to-release/6.0
Viktor Hofer [Fri, 20 Aug 2021 11:03:09 +0000 (13:03 +0200)]
Merge pull request #57740 from dotnet-maestro-bot/merge/release/6.0-rc1-to-release/6.0

[automated] Merge branch 'release/6.0-rc1' => 'release/6.0'

2 years agoMerge branch 'release/6.0' into merge/release/6.0-rc1-to-release/6.0
Viktor Hofer [Fri, 20 Aug 2021 08:36:39 +0000 (10:36 +0200)]
Merge branch 'release/6.0' into merge/release/6.0-rc1-to-release/6.0

2 years agoUpdate dependencies from https://github.com/mono/linker build 20210819.1 (#57765)
dotnet-maestro[bot] [Fri, 20 Aug 2021 08:29:28 +0000 (10:29 +0200)]
Update dependencies from https://github.com/mono/linker build 20210819.1 (#57765)

Microsoft.NET.ILLink.Tasks
 From Version 6.0.100-preview.6.21418.3 -> To Version 6.0.100-preview.6.21419.1

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
2 years agoUpdate dependencies from https://github.com/dotnet/icu build 20210819.2 (#57764)
dotnet-maestro[bot] [Fri, 20 Aug 2021 08:23:11 +0000 (10:23 +0200)]
Update dependencies from https://github.com/dotnet/icu build 20210819.2 (#57764)

Microsoft.NETCore.Runtime.ICU.Transport
 From Version 6.0.0-rc.1.21416.1 -> To Version 6.0.0-rc.2.21419.2

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
2 years agoUpdate dependencies from https://github.com/dotnet/icu build 20210819.1 (#57763)
dotnet-maestro[bot] [Fri, 20 Aug 2021 08:21:26 +0000 (10:21 +0200)]
Update dependencies from https://github.com/dotnet/icu build 20210819.1 (#57763)

Microsoft.NETCore.Runtime.ICU.Transport
 From Version 6.0.0-rc.1.21416.1 -> To Version 6.0.0-rc.1.21419.1

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
2 years agoUpdate dependencies from https://github.com/mono/linker build 20210819.1 (#57777)
dotnet-maestro[bot] [Fri, 20 Aug 2021 08:17:35 +0000 (10:17 +0200)]
Update dependencies from https://github.com/mono/linker build 20210819.1 (#57777)

Microsoft.NET.ILLink.Tasks
 From Version 6.0.100-preview.6.21416.1 -> To Version 6.0.100-preview.6.21419.1

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
2 years agoPack windows implementation assemblies in windowsdesktop transport package (#57796)
github-actions[bot] [Fri, 20 Aug 2021 07:08:46 +0000 (09:08 +0200)]
Pack windows implementation assemblies in windowsdesktop transport package (#57796)

Co-authored-by: Eric StJohn <ericstj@microsoft.com>
2 years agoRe-disable AsyncMethodsDropsStateMachineAndExecutionContextUponCompletion test (...
github-actions[bot] [Thu, 19 Aug 2021 23:26:51 +0000 (19:26 -0400)]
Re-disable AsyncMethodsDropsStateMachineAndExecutionContextUponCompletion test (#57762)

Co-authored-by: Stephen Toub <stoub@microsoft.com>
2 years agoUpdate dependencies from https://github.com/dotnet/emsdk build 20210819.1 (#57759)
dotnet-maestro[bot] [Thu, 19 Aug 2021 22:52:04 +0000 (00:52 +0200)]
Update dependencies from https://github.com/dotnet/emsdk build 20210819.1 (#57759)

Microsoft.NET.Workload.Emscripten.Manifest-6.0.100
 From Version 6.0.0-rc.1.21416.1 -> To Version 6.0.0-rc.1.21419.1

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
2 years agoFix Microsoft.NETCore.Platforms builds on Unix (#57757)
github-actions[bot] [Thu, 19 Aug 2021 22:50:46 +0000 (00:50 +0200)]
Fix Microsoft.NETCore.Platforms builds on Unix (#57757)

The casing of the SDK imported via the Sdk attribute was wrong which lead to:

Microsoft.NETCore.Platforms.csproj : error MSB4236: The SDK 'Microsoft.NET.SDK' specified could not be found.

Co-authored-by: Viktor Hofer <viktor.hofer@microsoft.com>
2 years ago[release/6.0-rc1] Update dependencies from dotnet/arcade (#57628)
dotnet-maestro[bot] [Thu, 19 Aug 2021 22:37:56 +0000 (00:37 +0200)]
[release/6.0-rc1] Update dependencies from dotnet/arcade (#57628)

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

Microsoft.DotNet.XUnitExtensions , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.Build.Tasks.Workloads , 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.21413.4 -> To Version 6.0.0-beta.21417.1

* Unpin compiler version

* Update source-index-stage1.yml

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

Microsoft.DotNet.XUnitExtensions , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.Build.Tasks.Workloads , 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.21413.4 -> To Version 6.0.0-beta.21418.12

* Partial cherry pick from a169ca9da716a710a576667206b4d8cdf40a7f79

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Viktor Hofer <viktor.hofer@microsoft.com>
2 years ago[mono] Fix crash in common_call_trampoline due to inconsistent rgctx mode (#57677)
github-actions[bot] [Thu, 19 Aug 2021 18:51:37 +0000 (11:51 -0700)]
[mono] Fix crash in common_call_trampoline due to inconsistent rgctx mode (#57677)

* Assume MRGCTX mode if mini_method_is_default_method is true

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

Co-authored-by: Ulrich Weigand <ulrich.weigand@de.ibm.com>
2 years ago[release/6.0] Adding null check to avoid abort when invalid IL is encountered (#57731)
github-actions[bot] [Thu, 19 Aug 2021 17:02:58 +0000 (19:02 +0200)]
[release/6.0] Adding null check to avoid abort when invalid IL is encountered (#57731)

When a callvirt instruction is encountered on a static method, there is
a hard abort/crash. This commit avoids the problem.

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Bill Holmes <bill.holmes@unity3d.com>
2 years agoUpdate dependencies from https://github.com/mono/linker build 20210818.3 (#57700)
dotnet-maestro[bot] [Thu, 19 Aug 2021 16:13:31 +0000 (18:13 +0200)]
Update dependencies from https://github.com/mono/linker build 20210818.3 (#57700)

Microsoft.NET.ILLink.Tasks
 From Version 6.0.100-preview.6.21416.1 -> To Version 6.0.100-preview.6.21418.3

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
2 years ago[release/6.0] Fix incorrect VN when folding GT_NEG(GT_MUL(A, C)) (#57686)
github-actions[bot] [Thu, 19 Aug 2021 16:09:14 +0000 (09:09 -0700)]
[release/6.0] Fix incorrect VN when folding GT_NEG(GT_MUL(A, C)) (#57686)

* Fix incorrect VN when folding GT_NEG(GT_MUL(A, C))

Fixes #57640

* Fix test name

Co-authored-by: Jakob Botsch Nielsen <jakob.botsch.nielsen@gmail.com>
2 years ago[release/6.0-rc1] Update pinned compiler version (#57730)
github-actions[bot] [Thu, 19 Aug 2021 16:06:29 +0000 (18:06 +0200)]
[release/6.0-rc1] Update pinned compiler version (#57730)

* Update pinned compiler version

The version that flows in automatically appears to still be old.  We need to fix that, but in the meantime, we're a month out of date on the compiler.

* Suppress CS8969 warnings

* Change several dynamic tests to use typeof(object[])

Co-authored-by: Stephen Toub <stoub@microsoft.com>
2 years ago[release/6.0-rc1] JIT: don't clone loops where init or limit is a cast local (#57690)
github-actions[bot] [Thu, 19 Aug 2021 14:20:47 +0000 (07:20 -0700)]
[release/6.0-rc1] JIT: don't clone loops where init or limit is a cast local (#57690)

* JIT: don't clone loops where init or limit is a cast local

The loop cloner assumes all computations it introduces are compatible
with TYP_INT, so don't allow cloning when the initial or final value
are variables with incompatible types.

Fixes #57535.

* Apply suggestions from code review

Co-authored-by: SingleAccretion <62474226+SingleAccretion@users.noreply.github.com>
Co-authored-by: Andy Ayers <andya@microsoft.com>
Co-authored-by: SingleAccretion <62474226+SingleAccretion@users.noreply.github.com>
2 years ago[release/6.0] JIT: don't clone loops where init or limit is a cast local (#57685)
github-actions[bot] [Thu, 19 Aug 2021 14:20:23 +0000 (07:20 -0700)]
[release/6.0] JIT: don't clone loops where init or limit is a cast local (#57685)

* JIT: don't clone loops where init or limit is a cast local

The loop cloner assumes all computations it introduces are compatible
with TYP_INT, so don't allow cloning when the initial or final value
are variables with incompatible types.

Fixes #57535.

* Apply suggestions from code review

Co-authored-by: SingleAccretion <62474226+SingleAccretion@users.noreply.github.com>
Co-authored-by: Andy Ayers <andya@microsoft.com>
Co-authored-by: SingleAccretion <62474226+SingleAccretion@users.noreply.github.com>
2 years agoBump timeout for workloads build job (#57721)
github-actions[bot] [Thu, 19 Aug 2021 14:13:11 +0000 (16:13 +0200)]
Bump timeout for workloads build job (#57721)

We're seeing it sometimes timing out on official builds.

Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
2 years agoThrow on invalid payload length in WebSockets (#57635)
github-actions[bot] [Wed, 18 Aug 2021 19:43:58 +0000 (12:43 -0700)]
Throw on invalid payload length in WebSockets (#57635)

Co-authored-by: Natalia Kondratyeva <knatalia@microsoft.com>
2 years agoThrow on invalid payload length in WebSockets (#57636)
github-actions[bot] [Wed, 18 Aug 2021 19:43:47 +0000 (12:43 -0700)]
Throw on invalid payload length in WebSockets (#57636)

Co-authored-by: Natalia Kondratyeva <knatalia@microsoft.com>
2 years agoFix Debug.Assert use of string interpolation (#57667)
github-actions[bot] [Wed, 18 Aug 2021 19:37:06 +0000 (15:37 -0400)]
Fix Debug.Assert use of string interpolation (#57667)

Co-authored-by: Stephen Toub <stoub@microsoft.com>
2 years agoFix Debug.Assert use of string interpolation (#57668)
github-actions[bot] [Wed, 18 Aug 2021 19:36:43 +0000 (15:36 -0400)]
Fix Debug.Assert use of string interpolation (#57668)

Co-authored-by: Stephen Toub <stoub@microsoft.com>
2 years agoupdate branding to rc2
Anipik [Tue, 17 Aug 2021 21:33:53 +0000 (14:33 -0700)]
update branding to rc2

2 years ago[wasm] Enable tests blocked by IL2105 (#57457)
Larry Ewing [Tue, 17 Aug 2021 21:28:09 +0000 (16:28 -0500)]
[wasm] Enable tests blocked by IL2105 (#57457)

* Disable ReflectionCachesUpdateHandler_CachesCleared with aggressive trimming

* Enable more tests stopped by 2105

* Create tests.mobile.targets

Suppress IL2025

* Remove comment enabling trim warnings

* Mark more active issues

2 years agodon't try to test module path if we can't load the module (#57590)
Adam Sitnik [Tue, 17 Aug 2021 20:48:02 +0000 (22:48 +0200)]
don't try to test module path if we can't load the module (#57590)

2 years agoFix the string search behavior when using ICU (#57078)
Tarek Mahmoud Sayed [Tue, 17 Aug 2021 20:41:34 +0000 (13:41 -0700)]
Fix the string search behavior when using ICU (#57078)

2 years agoFix crashreport for stack overflow (#57428)
Mike McLaughlin [Tue, 17 Aug 2021 20:02:14 +0000 (13:02 -0700)]
Fix crashreport for stack overflow (#57428)

* Fix crashreport for stack overflow

Issue: https://github.com/dotnet/runtime/issues/57032

The stack overflow managed exception wasn't been set/written out.

Changed the "unmanaged_frames" value to "stack_frames" because it includes both native and managed frames.

Aggregated the repeated stack frames adding a "repeated"/repeated_frames value/array for the time of times the sequence was repeated.

Looks like this:

    {
      "repeated" : "0x1542",
      "repeated_frames" : [
       {
        "is_managed" : "true",
        "module_address" : "0x10e402000",
        "stack_pointer" : "0x7000045ce020",
        "native_address" : "0x11b9ee8c9",
        "native_offset" : "0x29",
        "token" : "0x600006f",
        "il_offset" : "0x0",
        "method_name" : "Macson.Client.Diagnostics.CrashyClass.Foo2()",
        "timestamp" : "0xa8561820",
        "sizeofimage" : "0xe000",
        "filename" : "Macson.Client.dll",
        "guid" : "49cd869a682942bc95c0c34ca206c61d"
       },
       {
        "is_managed" : "true",
        "module_address" : "0x10e402000",
        "stack_pointer" : "0x7000045ce040",
        "native_address" : "0x11b9ee879",
        "native_offset" : "0x29",
        "token" : "0x6000070",
        "il_offset" : "0x0",
        "method_name" : "Macson.Client.Diagnostics.CrashyClass.Foo1()",
        ...
       },
      ]
    }

* Update createdump doc

* Fix Windows triage dump flags

* Code review feedback

2 years agoAdd --make-repro-path option to crossgen2 (#57543)
David Wrighton [Tue, 17 Aug 2021 19:42:07 +0000 (12:42 -0700)]
Add --make-repro-path option to crossgen2 (#57543)

- This is used to create repro packages for customer discovered issues with CrossGen2
- Customers will use this by setting the PublishCrossGen2ExtraArgs property to something like `--make-repro-path:c:\repro\crossgen2repro`
- Then the build will run, and produce zip files in the specified directory, one for each crossgen2 run that occurs during that build.
- Hopefully, then it is straightforward to package the failure up and send it in.

In addition, this tech can be used to transfer a full set of repro details from a Unix to Windows machine for easier debugging.

2 years agoUpdate dependencies from https://github.com/dotnet/msquic build 20210817.1 (#57581)
dotnet-maestro[bot] [Tue, 17 Aug 2021 19:37:43 +0000 (12:37 -0700)]
Update dependencies from https://github.com/dotnet/msquic build 20210817.1 (#57581)

System.Net.MsQuic.Transport
 From Version 6.0.0-preview.7.21416.1 -> To Version 6.0.0-preview.7.21417.1

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
2 years agoThe FilterLoggingBuilderExtensions public API's (#57485)
Feng Gao [Tue, 17 Aug 2021 19:35:04 +0000 (03:35 +0800)]
The FilterLoggingBuilderExtensions public API's (#57485)

document doesn't reflect the acutal type.  Change
it from the ILoggingBuilder to LoggerFilterOptions.

Fix #57482

2 years agodon't dispose client control stream before closing connection (#57223)
Geoff Kizer [Tue, 17 Aug 2021 19:31:26 +0000 (12:31 -0700)]
don't dispose client control stream before closing connection (#57223)

* don't dispose client control stream before closing connection

Co-authored-by: Geoffrey Kizer <geoffrek@windows.microsoft.com>
2 years agoRemove codesign before bundling (#57532)
Andy Gocke [Tue, 17 Aug 2021 18:52:10 +0000 (11:52 -0700)]
Remove codesign before bundling (#57532)

* Remove codesign before bundling

* Change tests to sign by default and check for signing

* Use standard .NET style

Fixes #57242

2 years agoRemove validation to stat call for symlinks since is a breaking change (#57551)
David Cantú [Tue, 17 Aug 2021 18:51:46 +0000 (11:51 -0700)]
Remove validation to stat call for symlinks since is a breaking change (#57551)

* Remove validation to stat call for symlinks since is a breaking change, subsequently remove the symlink cache logic as is no longer needed

* Undo try-catch workaround in PhysicalFileProvider

* Fix tests that were failing due to changes

2 years agoDon't fgMorphCommutative when the optimization can violate VN invariants or remove...
Egor Chesakov [Tue, 17 Aug 2021 18:41:32 +0000 (11:41 -0700)]
Don't fgMorphCommutative when the optimization can violate VN invariants or remove an active CSE candidate (#57160)

2 years agoFix ARM64 unsigned div by const perf regression (#57400)
Pent Ploompuu [Tue, 17 Aug 2021 18:38:19 +0000 (21:38 +0300)]
Fix ARM64 unsigned div by const perf regression (#57400)

2 years agoNumber handling with converters (#57525)
Steve Harter [Tue, 17 Aug 2021 18:35:10 +0000 (13:35 -0500)]
Number handling with converters (#57525)

Co-authored-by: Layomi Akinrinade <laakinri@microsoft.com>
2 years agoAdd tests for notification profilers (#57429)
David Mason [Tue, 17 Aug 2021 18:32:20 +0000 (11:32 -0700)]
Add tests for notification profilers (#57429)

Add CI tests for notification profilers, and fix a couple things to make life with multiple profilers easier
  * Reduced default timeout for profiler detach - we used to try at 300ms, 600ms, 5s, 10s, and then 10 minutes. The check is just a read of an int, so there's no reason to wait 10 minutes
  * Got rid of a couple asserts that were wrong since switching from the dedicated profiler attach thread to the diagnostics server implementation
  * ProfControlBlock::GetProfilerInfo would only work for active profilers, not attaching profilers, which could cause subtle bugs

2 years agoMake all interpolated string handlers pass by ref (#57536)
Stephen Toub [Tue, 17 Aug 2021 18:17:14 +0000 (14:17 -0400)]
Make all interpolated string handlers pass by ref (#57536)

We currently pass all of our interpolated string handlers to their destination methods by ref, with the exception of those for Debug.  I think it makes sense to centralize on the pattern of always passing by ref: it doesn’t negatively impact the user experience, these are typically larger structs and so by ref helps (though it doesn’t matter for Debug), making it a ref makes it even less attractive to try to call directly / makes it look even more special, and most importantly, it gives us the opportunity to more safely clean up at the end of the operation.  This changes the Debug.Assert/Write{Line}If overloads we added in Preview 7 to pass the handler’s by ref.

This also then updates the Debug.Write{Line}If methods to create the StringBuilder used via StringBuilderCache, just in case these are used in a scenario where true is frequently passed.

2 years agoFix hanging HTTP cancelation test. (#57573)
Pavel Savara [Tue, 17 Aug 2021 18:17:05 +0000 (20:17 +0200)]
Fix hanging HTTP cancelation test. (#57573)

* fix hanging http cancelation test. On wasm, the loopback could never get to read the headers

* feedback

2 years agoRevert "Change IOptionsSnapshot to reuse options instances across scopes (#56271...
Eric Erhardt [Tue, 17 Aug 2021 18:13:13 +0000 (13:13 -0500)]
Revert "Change IOptionsSnapshot to reuse options instances across scopes (#56271)" (#57570)

* Revert "Change IOptionsSnapshot to reuse options instances across scopes (#56271)"

This reverts commit 8f5f9d049a6a98b138f88fa1d9d6a96c40c03aa7.

* Add a test to ensure ASP.NET's scenario isn't broken again

2 years ago[mono][debugger] Fix deadlock when debugging AOTed class (#57574)
Thays Grazia [Tue, 17 Aug 2021 18:11:49 +0000 (15:11 -0300)]
[mono][debugger] Fix deadlock when debugging AOTed class (#57574)

* Fix deadlock when debugging AOTed class

* fix comment.

2 years agoUse Type.GetTypeCode() instead of private extension (#57540)
Steve Molloy [Tue, 17 Aug 2021 18:11:38 +0000 (11:11 -0700)]
Use Type.GetTypeCode() instead of private extension (#57540)

* Use official Type.GetTypeCode() instead of the extension that was added to fill the gap in the earlier days of .Net Core.
* Bring reflection-based serializer in line with RefEmit behavior for 'object' serialization.

2 years agoSgen: Update GetTempAssemblyName according to #46499 (#57026)
Tal Aloni [Tue, 17 Aug 2021 18:11:00 +0000 (21:11 +0300)]
Sgen: Update GetTempAssemblyName according to #46499 (#57026)

* Update GetTempAssemblyName according to #46499

In #46499 we corrected Compilation.GetTempAssemblyName in order for it to be not deterministic under .NET Core.
In this PR we update the generated filename to match the new logic.

* Update Microsoft.XmlSerializer.Generator.csproj

* Update SGen.cs

Avoid using external dependency

* Update Microsoft.XmlSerializer.Generator.csproj

Avoid using external dependency

* Update Sgen.cs

Fixed compilation

2 years agoFix source indexer failing official builds (#57336) (#57593)
Alexander Köplinger [Tue, 17 Aug 2021 18:10:45 +0000 (20:10 +0200)]
Fix source indexer failing official builds (#57336) (#57593)

Works around https://github.com/dotnet/arcade/issues/7747 to unblock official builds.
This change will revert itself with the next Arcade update.

Co-authored-by: Viktor Hofer <viktor.hofer@microsoft.com>
2 years agoPublish VS workloads assets in requested folder layout to BAR (#57559)
Alexander Köplinger [Tue, 17 Aug 2021 18:08:38 +0000 (20:08 +0200)]
Publish VS workloads assets in requested folder layout to BAR (#57559)

See discussion in https://github.com/dotnet/runtime/issues/57154

2 years ago[Android][libraries] Throw PNSE for PersistKeySet flags (#57494)
Mitchell Hwang [Tue, 17 Aug 2021 18:06:02 +0000 (14:06 -0400)]
[Android][libraries] Throw PNSE for PersistKeySet flags (#57494)

* [Android][libraries] Throw PNSE for Exportable and PersistKeySet flags

* Ignore exportable flag

Co-authored-by: Mitchell Hwang <mitchell.hwang@microsoft.com>
2 years agoAdd checks for missing SSA numbers (#57274)
Jakob Botsch Nielsen [Tue, 17 Aug 2021 17:48:38 +0000 (19:48 +0200)]
Add checks for missing SSA numbers (#57274)

In several places there were cases where we were checking lvaInSsa for
the lcl num of a local tree node, but then proceeded to use the ssa
number directly after. It is possible for a local to be in SSA without
tree nodes themselves having SSA form built for them, for example if
unreachable code makes it to SSA building. This adds some additional
check for missing SSA numbers.

2 years agocommenting out an assert that could be triggered on Win7 (#57524)
Vladimir Sadov [Tue, 17 Aug 2021 17:21:27 +0000 (10:21 -0700)]
commenting out an assert that could be triggered on Win7 (#57524)

2 years ago[wasm] Add incremental build support (#57113)
Ankit Jain [Tue, 17 Aug 2021 16:58:50 +0000 (12:58 -0400)]
[wasm] Add incremental build support (#57113)

* Update tasks to support incremental build

MonoAOTCompiler:
- Compiles assemblies to .bc files.
- Hashes for the .bc files are stored in a json cache file.
- And uses .depfile generated by mono-aot-cross, to figure out the
  if any of the dependencies have changed
- Writes out the actual .bc file only if the assembly, or it's
  dependencies changed

EmccCompile.cs: Support a `%(Dependencies)` metadata on the source
files, to compile the files only when needed.

* Update wasm targets

* don't pass unncessary args to RunTests

* Add tests for incremental builds

* Disable non-wasm builds, for testing

* Add miggins LogAsErrorException.cs

* Bump sdk for workload testing to 6.0.100-rc.1.21410.3

* fix build

* MonoAOTCompiler: use the full path to copy the final .bc file

* Make the method used with `MemberData`, static

otherwise xunit just shows a cryptic:
```
    Wasm.Build.Tests.RebuildTests.NoOpRebuild [STARTING]
    Wasm.Build.Tests.RebuildTests.NoOpRebuild [FAIL]
      System.NotSupportedException : Specified method is not supported.
```

* add back builds

* Split Wasm.Build.Tests into multiple helix jobs

* Revert "add back builds"

This reverts commit 1d031c04e13780ec73180ba6f06a37ee42c24203.

* Split up native rebuild tests

* remove non-test classes

* add back builds

This reverts commit b008130a7886c2e2b9f16c83641c1b8c936082f6.

* MonoAOTCompiler: make cache optional

* MonoAOTCompiler: handle the case where we have a cache entry, but the file on disk doesn't exist

* Fix aot compiler task output

* MonoAOTCompiler: Use hashes of .bc files instead of assemblies

`--depfile` isn't supported on aot config used by android, and fails
with:

```
* Assertion at /__w/1/s/src/mono/mono/mini/aot-compiler.c:14216, condition `acfg->aot_opts.llvm_only && acfg->aot_opts.asm_only && acfg->aot_opts.llvm_outfile' not met
```

Instead, use hashes of the .bc.tmp files generated, with the existing
.bc files.

* MonoAOTCompiler: Support more than one output file

The earlier implementation assumed that there would be only one output
file. But in some cases (eg. android), there are more than one, like
`.s`, `.dll-llvm.o`.

* -bump sdk for workload testing

* MonoAOTCompiler: don't use tmp files at all, when cache isn't being

.. used.

Co-authored-by: Larry Ewing <lewing@microsoft.com>
2 years ago[main] Update dependencies from dnceng/internal/dotnet-optimization dotnet/arcade...
dotnet-maestro[bot] [Tue, 17 Aug 2021 16:42:43 +0000 (18:42 +0200)]
[main] Update dependencies from dnceng/internal/dotnet-optimization dotnet/arcade dotnet/icu dotnet/llvm-project dotnet/runtime-assets dotnet/msquic (#57563)

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

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

Microsoft.DotNet.XUnitExtensions , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.Build.Tasks.Workloads , 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.21412.1 -> To Version 6.0.0-beta.21413.4

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

Microsoft.NETCore.Runtime.ICU.Transport
 From Version 6.0.0-rc.1.21410.2 -> To Version 6.0.0-rc.1.21416.1

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

* Update dependencies from https://github.com/dotnet/runtime-assets build 20210816.1

Microsoft.DotNet.CilStrip.Sources , 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.21411.3 -> To Version 6.0.0-beta.21416.1

* Update dependencies from https://github.com/dotnet/msquic build 20210816.1

System.Net.MsQuic.Transport
 From Version 6.0.0-preview.7.21413.1 -> To Version 6.0.0-preview.7.21416.1

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
2 years agoUpdate dependencies from https://github.com/mono/linker build 20210816.1 (#57565)
dotnet-maestro[bot] [Tue, 17 Aug 2021 16:41:14 +0000 (18:41 +0200)]
Update dependencies from https://github.com/mono/linker build 20210816.1 (#57565)

Microsoft.NET.ILLink.Tasks
 From Version 6.0.100-preview.6.21413.1 -> To Version 6.0.100-preview.6.21416.1

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
2 years agoAdd dedicated wasm implementation for Parallel.Invoke and Parallel.For (#57283)
Katelyn Gadd [Tue, 17 Aug 2021 16:40:02 +0000 (09:40 -0700)]
Add dedicated wasm implementation for Parallel.Invoke and Parallel.For (#57283)

Introduces a simple single-threaded implementation for Parallel.Invoke, .For, and .ForEach that bypasses Task and wait primitives so that in browser environments parallel loop operations complete synchronously on the current thread

2 years agoupdate msquic to 1.7 (#57541)
Tomas Weinfurt [Tue, 17 Aug 2021 16:37:59 +0000 (09:37 -0700)]
update msquic to 1.7 (#57541)