platform/upstream/dotnet/runtime.git
4 years agoUpdate threadpool callback error messages to fix #38803 (#40000)
Katelyn Gadd [Wed, 29 Jul 2020 05:57:13 +0000 (22:57 -0700)]
Update threadpool callback error messages to fix #38803 (#40000)

4 years agoAssert that we don't get the value we don't want instead of attempting to check for...
Katelyn Gadd [Wed, 29 Jul 2020 05:56:41 +0000 (22:56 -0700)]
Assert that we don't get the value we don't want instead of attempting to check for a specific error code. Fixes #39955 (#40019)

4 years ago[browser][wasm] Configuring request options in Browser WebAssembly (#39182)
Kenneth Pouncey [Wed, 29 Jul 2020 05:05:31 +0000 (07:05 +0200)]
[browser][wasm] Configuring request options in Browser WebAssembly (#39182)

* [browser][wasm] Initial addition of configuring request options in Browser WebAssembly

* Fix key code.  Not what was proposed

* Add TryGetValue<TValue> and Set<TValue> as per proposal

* Add missing obsolete attribute

* Address review comments

* Update tests to use Options and not obsolete Properties.

* Implement IDictionary<string, object?> explicitly

* Update tests to use Options and not obsolete Properties.

* Add HttpRequestOptions source to the System.Net.Http.Unit.Tests project to fix build.

* Address review comments - explicit

* Fix build error cannot convert from 'string' to 'System.Net.Http.HttpRequestOptionsKey<object>'

* Add tests for HttpRequestOptions

* Fix test build

* Add special case code for NETFRAMEWORK for API change.

* #endif out of place fix

* #endif out of place fix

4 years agoAdd Unsafe.IsNullRef and Unsafe.NullRef (#40008)
Sergio Pedri [Wed, 29 Jul 2020 03:06:52 +0000 (05:06 +0200)]
Add Unsafe.IsNullRef and Unsafe.NullRef (#40008)

Co-authored-by: Adeel Mujahid <adeelbm@outlook.com>
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
4 years agoFix creating RegionInfo object using names with different casing. (#40052)
Tarek Mahmoud Sayed [Wed, 29 Jul 2020 02:15:05 +0000 (19:15 -0700)]
Fix creating RegionInfo object using names with different casing. (#40052)

4 years agoNegate find_object GetConservativeGC logic. (#39905)
yowl [Tue, 28 Jul 2020 23:16:45 +0000 (18:16 -0500)]
Negate find_object GetConservativeGC logic. (#39905)

4 years ago[interp] Add null checks to STIND opcodes. (#40041)
Zoltan Varga [Tue, 28 Jul 2020 23:11:00 +0000 (19:11 -0400)]
[interp] Add null checks to STIND opcodes. (#40041)

4 years agoCleanup mscorlib references under src\coreclr\src (#39994)
Jan Kotas [Tue, 28 Jul 2020 23:10:38 +0000 (16:10 -0700)]
Cleanup mscorlib references under src\coreclr\src (#39994)

* s/MscorlibBinder/CoreLibBinder/

* s/g_Mscorlib/g_CoreLib/

* Remaining mscorlib->corelib renames

* Delete unreachable FNV NGen string

4 years agoFix parsing of embedded .clsidmap in comhost (#40022)
Elinor Fung [Tue, 28 Jul 2020 22:57:17 +0000 (15:57 -0700)]
Fix parsing of embedded .clsidmap in comhost (#40022)

* Fix parsing of embedded .clsidmap in comhost
* Update tests to use HostModel to create/embed clsidmap

4 years agoDisable based on #40034 (#40035)
Jarret Shook [Tue, 28 Jul 2020 22:38:43 +0000 (15:38 -0700)]
Disable based on #40034 (#40035)

4 years ago[debugger] Revert Removing unhandled_exception which was used for android (#40027)
monojenkins [Tue, 28 Jul 2020 22:35:56 +0000 (18:35 -0400)]
[debugger] Revert Removing unhandled_exception which was used for android (#40027)

This reverts commit 60643c36f5d4e349276e5dcce0e7fc3dc1d72f74.
To investigate error on android tests.

Co-authored-by: thaystg <thaystg@users.noreply.github.com>
4 years agoManually merging driver.c from https://github.com/mono/mono/pull/20159 (#40031)
Thays Grazia [Tue, 28 Jul 2020 21:38:41 +0000 (18:38 -0300)]
Manually merging driver.c from https://github.com/mono/mono/pull/20159 (#40031)

4 years agoUpdate visualstudio.md (#40047)
Dan Moseley [Tue, 28 Jul 2020 21:33:36 +0000 (14:33 -0700)]
Update visualstudio.md (#40047)

4 years ago[wasm] Add missing EMCC_FLAGS variable when building corebindings.o (#40024)
Alexander Köplinger [Tue, 28 Jul 2020 21:27:17 +0000 (23:27 +0200)]
[wasm] Add missing EMCC_FLAGS variable when building corebindings.o (#40024)

4 years agoIntrinsify MemoryMarshal.GetArrayDataReference for interp (#39920)
Egor Bogatov [Tue, 28 Jul 2020 21:23:56 +0000 (00:23 +0300)]
Intrinsify MemoryMarshal.GetArrayDataReference for interp (#39920)

4 years agoUpdate dependencies from https://github.com/dotnet/icu build 20200728.2 (#40011)
dotnet-maestro[bot] [Tue, 28 Jul 2020 20:45:31 +0000 (13:45 -0700)]
Update dependencies from https://github.com/dotnet/icu build 20200728.2 (#40011)

Microsoft.NETCore.Runtime.ICU.Transport
 From Version 5.0.0-preview.8.20373.1 -> To Version 5.0.0-preview.8.20378.2

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
4 years agoEnable dumping GC tables in release builds (#39946)
Bruce Forstall [Tue, 28 Jul 2020 20:31:41 +0000 (13:31 -0700)]
Enable dumping GC tables in release builds (#39946)

* Dump GC info always in release builds

Add support for dumping non-x86 info in release builds

* Revert DUMP_GC_TABLES change

* Fix formatting

4 years ago[mono] Fix warnings on OSX netcore (#39997)
Ryan Lucia [Tue, 28 Jul 2020 19:57:01 +0000 (15:57 -0400)]
[mono] Fix warnings on OSX netcore (#39997)

This commit brings us back to zero warnings for the default build configuration

4 years agoStop using transport packages for CoreCLR assets (#40002)
Juan Hoyos [Tue, 28 Jul 2020 19:25:48 +0000 (12:25 -0700)]
Stop using transport packages for CoreCLR assets (#40002)

4 years ago use empty server name is client did not specify one (#39671)
Tomas Weinfurt [Tue, 28 Jul 2020 19:14:04 +0000 (12:14 -0700)]
 use empty server name is client did not specify one (#39671)

* use empty server name

* fix merge

* feedback from review

* add missing file

4 years agoIncrease HTTP/2 connection expiration test's timeouts (#40015)
Alexander Nikolaev [Tue, 28 Jul 2020 18:03:37 +0000 (20:03 +0200)]
Increase HTTP/2 connection expiration test's timeouts (#40015)

4 years agoError on multiple calling conventions in modopts (#39809)
Elinor Fung [Tue, 28 Jul 2020 17:21:56 +0000 (10:21 -0700)]
Error on multiple calling conventions in modopts (#39809)

4 years agoFix mdarrays (#39984)
David Wrighton [Tue, 28 Jul 2020 17:07:39 +0000 (10:07 -0700)]
Fix mdarrays (#39984)

- MDArrays are special and method references to the methods needs to be encoded with their type in more cases than normal methods
- Only generate the owner type if the memberref does not encode the same owner type
- Add tests for various multidimensional array scenarios to crossgen2smoke

Fix issue #38260

4 years agoFix typo on comment on ReflectionEnum::InternalHasFlag (#39995)
Paulo Morgado [Tue, 28 Jul 2020 16:19:18 +0000 (17:19 +0100)]
Fix typo on comment on ReflectionEnum::InternalHasFlag (#39995)

4 years agoInitial (partially-reviewed API) System.Net.Connections. (#39524)
Cory Nelson [Tue, 28 Jul 2020 15:06:57 +0000 (08:06 -0700)]
Initial (partially-reviewed API) System.Net.Connections. (#39524)

4 years agoAnnotate System.ComponentModel.DataAnnotations for nullability (#39611)
Shay Rojansky [Tue, 28 Jul 2020 15:04:00 +0000 (18:04 +0300)]
Annotate System.ComponentModel.DataAnnotations for nullability (#39611)

4 years agoExpect 100 Continue Hang (#38774)
Marie Píchová [Tue, 28 Jul 2020 14:58:43 +0000 (16:58 +0200)]
Expect 100 Continue Hang (#38774)

Inside sendRequestContentTask recognizes that it's invoked from a timer thread and if request content fails, unblocks SendAsyncCore and eventually propagates the exception from the content to the outside.
Fixes the issue for H2 as well.

Fixes #36717

4 years agoSystem.Net.Sockets telemetry counters (#39708)
Alexander Nikolaev [Tue, 28 Jul 2020 14:55:12 +0000 (16:55 +0200)]
System.Net.Sockets telemetry counters (#39708)

Counters in SocketsTelemetry measuring

`bytes-received` (Bytes Received)
The cumulative total number of bytes received by all Socket objects since the process started.

`bytes-sent` (Bytes Sent)
The cumulative number of bytes sent by all Socket objects  since the process started.

`outgoing-connections-established` (Outgoing Connections Established)
The cumulative total number of outgoing connections established by Socket objects for stream sockets since the process started.

`incoming-connections-established` (Incoming Connections Established)
The cumulative total number of incoming connections established by Socket objects for stream sockets since the process started.

`datagrams-received` (Datagrams Received)
The cumulative total number of datagram packets received by all Socket objects since the process started.

`datagrams-sent` (Datagrams Sent)
The cumulative total number of datagram packets sent by all Socket objects since the process started.

Contributes to #37428

4 years agoAdapt RFC 6265 in path handling for cookies (#39250)
Anton Firszov [Tue, 28 Jul 2020 14:42:31 +0000 (16:42 +0200)]
Adapt RFC 6265 in path handling for cookies (#39250)

Resolves "Path related issues" of #26141
(described in #21440, #22372 and #25226) by adapting RFC 6265 for path management:

- Removes the restriction for the Path attribute (it's no longer expected to prefix the request path)
- Introduces the default-path calculation and path matching algorithms as defined in section 5.1.4 of the new RFC
- Adds integration tests for HttpClient based on user scenarios described in the issues

4 years agoApple Silicon support (#39939)
monojenkins [Tue, 28 Jul 2020 12:34:29 +0000 (08:34 -0400)]
Apple Silicon support (#39939)

<!--
Thank you for your Pull Request!

If you are new to contributing to Mono, please try to do your best at conforming to our coding guidelines http://www.mono-project.com/community/contributing/coding-guidelines/ but don't worry if you get something wrong. One of the project members will help you to get things landed.

Does your pull request fix any of the existing issues? Please use the following format: Fixes #issue-number
-->

Co-authored-by: vargaz <vargaz@users.noreply.github.com>
4 years agoAdd ICorDebugModule4 - Get Module mapping mode (#39865)
Juan Hoyos [Tue, 28 Jul 2020 11:19:58 +0000 (04:19 -0700)]
Add ICorDebugModule4 - Get Module mapping mode (#39865)

* Add IDL for ICorDebugModule4
* Add cached version of the MIDL generated stubs
* Implement ICorDebugModule4
* Align method naming with other methods in ICorDebug

4 years agoAdd brew update before brew bundle (#39999)
Ryan Lucia [Tue, 28 Jul 2020 11:07:25 +0000 (07:07 -0400)]
Add brew update before brew bundle (#39999)

Every lane appears to be failing because of an issue with brew bundle expecting the latest homebrew but not automatically updating: https://github.com/Homebrew/homebrew-bundle/issues/751
So forcibly update, which is apparently good practice anyway: https://github.com/Homebrew/homebrew-bundle/issues/751#issuecomment-664958735

4 years ago[retry only] Additional HTTP/2 connections created when active streams limit is reach...
Alexander Nikolaev [Tue, 28 Jul 2020 10:43:39 +0000 (12:43 +0200)]
[retry only] Additional HTTP/2 connections created when active streams limit is reached (#39439)

HTTP/2 standard commands clients to not open more than one HTTP/2 connection to the same server. At the same time, server has right to limit the maximum number of active streams per that HTTP/2 connection. These two directives combined impose limit on the number of requests concurrently send to the server. This limitation is justified in client to server scenarios, but become a bottleneck in server to server cases like gRPC. This PR introduces a new SocketsHttpHandler API enabling establishing additional HTTP/2 connections to the same server when the maximum stream limit is reached on the existing ones.

**Note**. This algorithm version uses only retries to make request choose another  connection when all stream slots are occupied. It does not implement stream credit management in `HttpConnectionPool` and therefore exhibit a sub-optimal request scheduling behavior in "request burst" and "infinite requests" scenarios.

Fixes #35088

4 years ago[browser][http] Fix HttpClientHandler "Supports*" properties regressions (#39889)
Kenneth Pouncey [Tue, 28 Jul 2020 09:21:41 +0000 (11:21 +0200)]
[browser][http] Fix HttpClientHandler "Supports*" properties regressions (#39889)

* [browser][http] Fix HttpClientHandler "Supports*" properties regressions

* Also needs implementing on SocketsHttpHandler.

On the SocketsHttpHandler we will default to `true` here.

```
        internal bool SupportsAutomaticDecompression => true;
        internal bool SupportsProxy => true;
        internal bool SupportsRedirectConfiguration => true;
```

* Should be internal accessor

4 years agoFix issue in sort_mark_list causing AVs in merge_mark_lists.
Peter Sollich [Tue, 28 Jul 2020 09:05:19 +0000 (11:05 +0200)]
Fix issue in sort_mark_list causing AVs in merge_mark_lists.

This happens during gen 2 GCs where at least one GC thread sees no surviving objects. The bug causes merge_mark_lists to attempt the merge when in fact we are not using the mark lists at all during gen 2 GCs.

Fix comment in sort_mark_list.

4 years agoFix ILLink descriptors for Mono.CoreLib (#39898)
Vitek Karas [Tue, 28 Jul 2020 08:13:10 +0000 (01:13 -0700)]
Fix ILLink descriptors for Mono.CoreLib (#39898)

4 years ago[mono] Use DefaultDllSearchPaths attribute for PInvokes (#38975)
Alexis Christoforides [Tue, 28 Jul 2020 05:22:22 +0000 (01:22 -0400)]
[mono] Use DefaultDllSearchPaths attribute for PInvokes (#38975)

* [mono] Use DefaultDllSearchPaths attribute for PInvokes

So far we have been ignoring the flags contained in the attribute.

Attribute can be applied to a pinvoke method or an assembly. See https://docs.microsoft.com/en-us/dotnet/api/system.runtime.interopservices.defaultdllimportsearchpathsattribute.-ctor?view=netcore-3.1#System_Runtime_InteropServices_DefaultDllImportSearchPathsAttribute__ctor_System_Runtime_InteropServices_DllImportSearchPath_

* Update src/mono/mono/metadata/native-library.c

Co-authored-by: Aleksey Kliger (λgeek) <akliger@gmail.com>
* Minor fixes to comments and error handling

* Additional fixes

Co-authored-by: Aleksey Kliger (λgeek) <akliger@gmail.com>
Co-authored-by: Ryan Lucia <rylucia@microsoft.com>
4 years agoUpdate safemath.h
Jan Kotas [Tue, 28 Jul 2020 04:58:32 +0000 (21:58 -0700)]
Update safemath.h

Fixes #39985

4 years ago[wasm] Use interp-only instead of interp-llvmonly as the default execution mode....
monojenkins [Tue, 28 Jul 2020 02:00:48 +0000 (22:00 -0400)]
[wasm] Use interp-only instead of interp-llvmonly as the default execution mode. (#39880)

interp-llvmonly caused mono_llvm_only to be set, causing bad behavior like
stack walks not working.

Co-authored-by: vargaz <vargaz@users.noreply.github.com>
4 years agoFix releasing of file handle in binder tracing (#39974)
Elinor Fung [Tue, 28 Jul 2020 01:12:25 +0000 (18:12 -0700)]
Fix releasing of file handle in binder tracing (#39974)

4 years ago[jit] Add a intrinsic for ThrowForUnsupportedVectorBaseType<T>. (#39965)
Zoltan Varga [Tue, 28 Jul 2020 00:20:28 +0000 (20:20 -0400)]
[jit] Add a intrinsic for ThrowForUnsupportedVectorBaseType<T>. (#39965)

Part of https://github.com/dotnet/runtime/issues/38718.

4 years agoFix superpmi.py script for asmdiffs (#39948)
Bruce Forstall [Tue, 28 Jul 2020 00:12:15 +0000 (17:12 -0700)]
Fix superpmi.py script for asmdiffs (#39948)

4 years agoDisable eventpipe test under GCStress due to test failure (#39978)
Bruce Forstall [Mon, 27 Jul 2020 23:33:38 +0000 (16:33 -0700)]
Disable eventpipe test under GCStress due to test failure (#39978)

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

4 years agoDisable gcdump test under GCStress due to test failure (#39977)
Bruce Forstall [Mon, 27 Jul 2020 23:32:36 +0000 (16:32 -0700)]
Disable gcdump test under GCStress due to test failure (#39977)

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

4 years agoRemove GetIPCEventSendBufferContinuation (#39662)
Juan Hoyos [Mon, 27 Jul 2020 23:01:04 +0000 (16:01 -0700)]
Remove GetIPCEventSendBufferContinuation (#39662)

* Fix write on failure to allocate buffer

* Remove GetIPCEventSendBufferContinuation altogether

4 years ago[mono] Fix building multiple os/arch combinations in the same working directory ...
Alexander Köplinger [Mon, 27 Jul 2020 22:59:51 +0000 (00:59 +0200)]
[mono] Fix building multiple os/arch combinations in the same working directory (#39970)

After adding the ICU shim code to the runtime we hit an issue when e.g. compiling for "desktop" mono in a working directory that already had Browser wasm artifacts in it.
This is due to automake putting the intermediate compilation artifacts at the same location where a file was referenced from.

This means that e.g. when using `../../../libraries/Native/Unix/System.Globalization.Native/pal_icushim.c` in the Makefile.am we'd get the intermediaries in `artifacts/obj/mono/libraries/` instead of somewhere in `artifacts/obj/mono/OSX.x64.Debug`.

Later on we'd get the following error because it was reusing the existing .o file from another architecture:

```
Undefined symbols for architecture x86_64:
  "_gPalGlobalizationNative", referenced from:
    _c_qcalls in libmonoruntimesgen.a(libmonoruntimesgen_la-native-library-qcall.o)
```

Fix this by symlinking the source files into the build directory.

4 years agoFix issue with Crossgen2 package excluding Icon (#39972)
Eric StJohn [Mon, 27 Jul 2020 22:37:01 +0000 (15:37 -0700)]
Fix issue with Crossgen2 package excluding Icon (#39972)

The latest packaging targets rely on ProjectDefaults inclusion of package icon,
but this item was being removed by the Crossgen2 project's targets.

Also updating the version of packaging tools to see if we have any other failures.

4 years agoKeep only Abstractions dependency on Configuration.Binder (#39461)
Maryam Ariyan [Mon, 27 Jul 2020 21:10:59 +0000 (14:10 -0700)]
Keep only Abstractions dependency on Configuration.Binder (#39461)

4 years agoAdd nullability annotations to files in XPath folder (#39821)
David Cantu [Mon, 27 Jul 2020 21:02:32 +0000 (14:02 -0700)]
Add nullability annotations to files in XPath folder (#39821)

* Add nullability annotations to files in XPath folder

* Address feedback from krwq

* Make changes based on recently merged annotations

* Mark resolver parameter in SelectSingleNode as nullable

4 years agoFix JSON possible dupe key issue (#39860)
Maryam Ariyan [Mon, 27 Jul 2020 19:18:57 +0000 (12:18 -0700)]
Fix JSON possible dupe key issue (#39860)

4 years ago[wasm] Mark DiagnosticSource.Switches.Tests with an active issue (#39952)
Maxim Lipnin [Mon, 27 Jul 2020 19:07:11 +0000 (22:07 +0300)]
[wasm] Mark DiagnosticSource.Switches.Tests with an active issue (#39952)

4 years ago[master] Update dependencies from Microsoft/vstest mono/linker dotnet/icu (#39697)
dotnet-maestro[bot] [Mon, 27 Jul 2020 17:59:25 +0000 (19:59 +0200)]
[master] Update dependencies from Microsoft/vstest mono/linker dotnet/icu (#39697)

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
4 years agoFix Half comparison (#39773)
Ganbarukamo41 [Mon, 27 Jul 2020 15:26:22 +0000 (00:26 +0900)]
Fix Half comparison (#39773)

* Fix Half comparison

* Fixes the comparison to be correct when both numbers are negative
* Add relevant tests

* Add parentheses for clarity

* Add tests validating comparison between negative numbers for Single/Double as well

4 years agoFix build on some libs projects when metadata isn't available (#39960)
Viktor Hofer [Mon, 27 Jul 2020 14:38:45 +0000 (16:38 +0200)]
Fix build on some libs projects when metadata isn't available (#39960)

* Fix build on some libs projects when metadata isn't available

* Update references.targets

4 years ago[wasm] Remove System.ValueTuple.Tests test suite from the exclusion list (#39957)
Maxim Lipnin [Mon, 27 Jul 2020 12:08:16 +0000 (15:08 +0300)]
[wasm] Remove System.ValueTuple.Tests test suite from the exclusion list (#39957)

4 years agoAnnotate System.Data.{Odbc,OleDb} for nullability (#39597)
Shay Rojansky [Mon, 27 Jul 2020 09:09:50 +0000 (12:09 +0300)]
Annotate System.Data.{Odbc,OleDb} for nullability (#39597)

* Annotate System.Data.Odbc for nullability
* Annotate System.Data.OleDb for nullability
* Suppress nullable warnings on netcoreapp < 3.0
* Mark System.Data.DataSetExtensions as null-annotated
* Fix null-check bug in System.Data.OleDb

4 years agoMark the multifolder GC2 test as GC stress incompatible until fixed (#39942)
Tomáš Rylek [Mon, 27 Jul 2020 06:58:01 +0000 (08:58 +0200)]
Mark the multifolder GC2 test as GC stress incompatible until fixed (#39942)

4 years agoDisable reverseouter test under GCStress (#39937)
Bruce Forstall [Mon, 27 Jul 2020 03:47:32 +0000 (20:47 -0700)]
Disable reverseouter test under GCStress (#39937)

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

4 years agoDisable processinfo for ilasm round-trip testing (#39936)
Bruce Forstall [Mon, 27 Jul 2020 03:46:59 +0000 (20:46 -0700)]
Disable processinfo for ilasm round-trip testing (#39936)

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

4 years agoDisable Microsoft.Extensions.Caching.Memory.CapacityTests.DoNotAddIfSizeOverflows...
Bruce Forstall [Sun, 26 Jul 2020 18:39:41 +0000 (11:39 -0700)]
Disable Microsoft.Extensions.Caching.Memory.CapacityTests.DoNotAddIfSizeOverflows (#39930)

Issue: https://github.com/dotnet/runtime/issues/33993,
https://github.com/dotnet/runtime/issues/39241

4 years agoMark Assembly.CodeBase / Assembly.EscapedCodeBase as obsolete (#31127) (#39261)
Josh Schreuder [Sun, 26 Jul 2020 18:38:15 +0000 (04:38 +1000)]
Mark Assembly.CodeBase / Assembly.EscapedCodeBase as obsolete (#31127) (#39261)

4 years agoUse consistent access modifiers in AsnValueReader.cs
Scott Xu [Sun, 26 Jul 2020 16:56:57 +0000 (00:56 +0800)]
Use consistent access modifiers in AsnValueReader.cs

4 years agoRemove unused locals in System.Numerics.Tensors (#39578)
Matt Kotsenas [Sat, 25 Jul 2020 18:39:57 +0000 (11:39 -0700)]
Remove unused locals in System.Numerics.Tensors (#39578)

4 years agoFix CoreLib path resolution (#39921)
Viktor Hofer [Sat, 25 Jul 2020 18:34:14 +0000 (20:34 +0200)]
Fix CoreLib path resolution (#39921)

Fixes issue described in https://github.com/dotnet/runtime/pull/39891#issuecomment-663767530.

4 years ago[Arm64] Don't generate hardware intrinsic method bodies (#39753)
Egor Chesakov [Sat, 25 Jul 2020 18:33:55 +0000 (11:33 -0700)]
[Arm64] Don't generate hardware intrinsic method bodies (#39753)

* Don't generate hardware intrinsic method bodies on Arm64 in zapinfo.cpp

* Treat Vector64 and Vector128 methods as intrinsics on Arm64 in zapinfo.cpp

4 years agoAddress slowdowns in type loader performance (#39841)
David Wrighton [Sat, 25 Jul 2020 18:30:34 +0000 (11:30 -0700)]
Address slowdowns in type loader performance (#39841)

4 years agoRemove CoreMangLib duplicate tests (#36612)
Hugh Bellamy [Sat, 25 Jul 2020 18:28:58 +0000 (19:28 +0100)]
Remove CoreMangLib duplicate tests (#36612)

* Cleanup duplicated Type tests

* Baseline mono test failures

4 years agoAdd linker annotation to LazyDebugView to avoid warnings (#39899)
Vitek Karas [Sat, 25 Jul 2020 18:11:14 +0000 (11:11 -0700)]
Add linker annotation to LazyDebugView to avoid warnings (#39899)

In reality this is only to get rid of the warnings, the class is never instatiated by the managed code, so the annotation has no effect on including more code.
When in debugger the class is instatiated with the same T of an existing Lazy<T> which has the same annotation, so the T will always fulfill the annotation's requirements.

4 years agoMacOS managed debugging perf fix (#39804)
Mike McLaughlin [Sat, 25 Jul 2020 04:01:54 +0000 (21:01 -0700)]
MacOS managed debugging perf fix (#39804)

* MacOS managed debugging perf fix

This PR adds PAL_OpenProcessMemory, PAL_ReadProcessMemory and PAL_CloseProcessMemory that
encapsulate the remote read memory functions for both MacOS and Linux.

The DBI code that reads memory using the runtime IPC messages to use these new functions
and fallback to the IPC message if the open fails.

On MacOS, this won't have any affect on VSCode performance until vsdbg/vsdbgui are signed
with the "com.apple.security.cs.debugger" entitlement.

Sample entitlements.plist file:

```
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>com.apple.security.cs.debugger</key>
      <true/>
  </dict>
</plist>
```

Example of locally signing with entitlement command:

codesign -s <local-cert> --entitlements entitlements.plist

Fix FreeBSD build. Remove FEATURE_DATATARGET4 for macOS so managed debugging uses faster OOP unwind for HelpMethodFrames

4 years agoFix `fgUpdateChangedFlowGraph`. (#39878)
Eugene Rozenfeld [Sat, 25 Jul 2020 03:55:49 +0000 (20:55 -0700)]
Fix `fgUpdateChangedFlowGraph`. (#39878)

`fgComputeDoms` has an assumption that the flow graph
has no unreachable blocks. It's checked with this assert:

https://github.com/dotnet/runtime/blob/ad325b014124b1adb9306abf95fdac85e3f7f2f4/src/coreclr/src/jit/flowgraph.cpp#L2342

This assert fired when testing #39474 (`Convert Math{F}.CoreCLR methods from FCall to QCall`)
when we are updating the flow graph after inserting GC polls.

This change switches `fgUpdateChangedFlowGraph` to call `fgComputeReachability`,
which both removes unreachable blocks and calls `fgComputeDoms`.

pin-icount reported a 0.0043% throughput improvement, which is within noise level.

4 years agoFix CanCastTo behavior (#39915)
David Wrighton [Sat, 25 Jul 2020 03:31:58 +0000 (20:31 -0700)]
Fix CanCastTo behavior (#39915)

* Fix missing cases in CanCastTo

* Update issues.targets to start running the previously broken tests

4 years agoAvoid using DateTime - Switch to DateTimeOffset (#39916)
Maryam Ariyan [Sat, 25 Jul 2020 01:26:56 +0000 (18:26 -0700)]
Avoid using DateTime - Switch to DateTimeOffset (#39916)

4 years agoFix issue in type equivalence involving arrays (#39914)
David Wrighton [Sat, 25 Jul 2020 00:12:19 +0000 (17:12 -0700)]
Fix issue in type equivalence involving arrays (#39914)

- Fix issue where single dimensional arrays and multidimensional arrays of rank 1 are considered equivalent

4 years agoNullable: System.Xml, part 5 (XmlDocument) (#39691)
Krzysztof Wicher [Fri, 24 Jul 2020 23:18:45 +0000 (01:18 +0200)]
Nullable: System.Xml, part 5 (XmlDocument) (#39691)

* Nullable: System.Xml, part 5 (XmlDocument)

* apply feedback

4 years agoAnsiParser improvement (#39729)
Maryam Ariyan [Fri, 24 Jul 2020 23:11:53 +0000 (16:11 -0700)]
AnsiParser improvement (#39729)

4 years agoFix issues with JitStressRange (#39754)
Egor Chesakov [Fri, 24 Jul 2020 22:48:32 +0000 (15:48 -0700)]
Fix issues with JitStressRange (#39754)

* Add 10 when digit is [a-fA-F] in ConfigMethodRange::InitRanges in utils.cpp

* Zero out compMethodHashPrivate earlier in Compiler::compInit() in compiler.cpp

4 years agoDelete redundant MSVC compiler options (#39901)
Jan Kotas [Fri, 24 Jul 2020 22:29:24 +0000 (15:29 -0700)]
Delete redundant MSVC compiler options (#39901)

4 years agoEnsure CoreCLR pkgproj include packaging props (#39906)
Eric StJohn [Fri, 24 Jul 2020 22:17:43 +0000 (15:17 -0700)]
Ensure CoreCLR pkgproj include packaging props (#39906)

Since these projects don't directly consume the nupkg they didn't
automatically get props when we added it.

4 years agoFix lcl fld addr. (#39424)
Sergey Andreenko [Fri, 24 Jul 2020 21:45:48 +0000 (14:45 -0700)]
Fix lcl fld addr. (#39424)

* Add a repro test.

* Small ref.

Combine long chains of `addr->OperGet() == GT_* ||` with `GT_LCL_VAR_ADDR` using `OperIs` to simplify future changes.

* Add an assert that would fire in the repro test.

`emitter::emitHandleMemOp` has special logic for contained `memBase` and but the last block does not
expect a contained node. A contained node doesn't produce a register so it is not correct to use result
of `GetRegNum()` from a contained node as a valid register.
However, adding an assert to `GetRegNum()` that `!this->isContained` is a bigger task that is out of this PR.

* Assert that `LCL_FLD_ADDR` is not contained in `genPutArgStk(Split)`

We have contained `LCL_VAR_ADDR` support there but make sure that contained `LCL_FLD_ADDR` can't reach it.

* Contain `GT_LCL_FLD_ADDR` under HW_INTRINSIC.

This is an additional optimization that makes future changes simpler.

* Add contained checks.

In all these places we expect `LCL_VAR_ADDR` to be contained.
If we had gotten a `LCL_VAR_ADDR` that is not contained we would have instantiated `LCL_VAR_ADDR` twice:
in the register and the parent instruction.
The register value would have been unused.

* Support `FLD_ADDR` where `LCL_ADDR` is supported.

However, fire an assert if we think that this path is unreachable for now.

* Delete asserts in the  reachable blocks.

We have coverage for this asserts in the following tests:
hwintrinsic 478: Ssse3_ro
instr 11645: Runtime_39403
instr 1028 : Aes_ro
hwintrinsic 716: pmi of Microsoft.Diagnostics.Tracing.TraceEvent

* Review response.

* Add repro cases.

Delete the rest `assert(!"don't expect GT_LCL_FLD_ADDR");`.

* Use `GetLclOffs` from `LclVarCommon`.

* missed file.

4 years agoRemove setting ICUCORE for macOS in System.Globalization.Native CMake config (#39900)
Alexander Köplinger [Fri, 24 Jul 2020 20:31:59 +0000 (22:31 +0200)]
Remove setting ICUCORE for macOS in System.Globalization.Native CMake config (#39900)

Follow-up to #39833.

We don't link against ICU on macOS but load it via `dlopen()` at runtime and compilation uses headers from homebrew.
That means `HAVE_SET_MAX_VARIABLE` and `HAVE_UDAT_STANDALONE_SHORTER_WEEKDAYS` will always be defined and we don't need the ICUCORE variable.

* PR feedback

Co-authored-by: Adeel Mujahid <adeelbm@outlook.com>
4 years agoFix GC Poll inlining. (#39881)
Eugene Rozenfeld [Fri, 24 Jul 2020 20:19:43 +0000 (13:19 -0700)]
Fix GC Poll inlining. (#39881)

* Don't inline GC polls in cold basic blocks.
* Allow GC poll inlining in basic blocks with `BBF_LOOP_PREHEADER` or `BBF_RETLESS_CALL` set.

This fixes one of the assert seen in https://github.com/dotnet/runtime/pull/39474#issuecomment-662033060

Contributes to resolving #39726.

4 years agoUpdate to unified Alpine build image version (#39903)
Jeremy Koritzinsky [Fri, 24 Jul 2020 19:30:37 +0000 (12:30 -0700)]
Update to unified Alpine build image version (#39903)

Update our Alpine build image so we can unify for a single image for our builds.

Fixes #2030

4 years agoJit: fix some sources of x64 chk/rel diffs (#39888)
Andy Ayers [Fri, 24 Jul 2020 17:59:16 +0000 (10:59 -0700)]
Jit: fix some sources of x64 chk/rel diffs (#39888)

Break IGs for perfscores the same way in chk and rel. Also, fix the xarch
peephole to work across extended IGs.

Closes #39845.

4 years agoNew fix for duplicate methods in the AltJit jit-diff output (#39751)
Brian Sullivan [Fri, 24 Jul 2020 17:21:25 +0000 (10:21 -0700)]
New fix for duplicate methods in the AltJit jit-diff output (#39751)

4 years agoFix ActivitySource.StartActivity when start time is provided (#39884)
Alan West [Fri, 24 Jul 2020 16:25:05 +0000 (09:25 -0700)]
Fix ActivitySource.StartActivity when start time is provided (#39884)

4 years agoPost #35606 cleanup (#39891)
Viktor Hofer [Fri, 24 Jul 2020 16:02:32 +0000 (18:02 +0200)]
Post #35606 cleanup (#39891)

* Post #35606 cleanup

4 years agoConvert math intrinsics to named intrinsics (#39730)
Adeel Mujahid [Fri, 24 Jul 2020 15:35:17 +0000 (18:35 +0300)]
Convert math intrinsics to named intrinsics (#39730)

* Convert math intrinsics to named intrinsics

* Annotate Floor and Ceiling with [Intrinsic]

4 years ago[debugger] Removing unhandled_exception which was used for android. (#39377)
monojenkins [Fri, 24 Jul 2020 14:42:10 +0000 (10:42 -0400)]
[debugger] Removing unhandled_exception which was used for android. (#39377)

Trying to remove the usage of unhandled_exception function to make debugger handle with an exception when running on android.
We should ignore the try catch that is in an WRAPPER_SUBTYPE_ICALL_WRAPPER, then we can walk through all the callstack and find any try catch in managed code if it exists.

Co-authored-by: thaystg <thaystg@users.noreply.github.com>
4 years agoAdd CBOR property-based tests (#39828)
Eirik Tsarpalis [Fri, 24 Jul 2020 13:56:12 +0000 (14:56 +0100)]
Add CBOR property-based tests (#39828)

* Add CBOR property-based tests

* address feedback

4 years ago[browser][tests] Activate System.Private.Uri.Functional.Tests (#39817)
Kenneth Pouncey [Fri, 24 Jul 2020 09:50:41 +0000 (11:50 +0200)]
[browser][tests] Activate System.Private.Uri.Functional.Tests (#39817)

Local:

```
info: test[0]
        Tests run: 883, Errors: 0, Failures: 0, Skipped: 1. Time: 188.7140968s
```

4 years ago[runtime] Fix some more gc tracking problems in create_cattr_named/typed_arg. (#39856)
Zoltan Varga [Fri, 24 Jul 2020 09:23:38 +0000 (05:23 -0400)]
[runtime] Fix some more gc tracking problems in create_cattr_named/typed_arg. (#39856)

4 years agoRemove leading dot check for cookie domain (#39781)
Natalia Kondratyeva [Fri, 24 Jul 2020 07:18:00 +0000 (10:18 +0300)]
Remove leading dot check for cookie domain (#39781)

Minimal fix for domain-related cookie issues of #26141

To fully comply with RFC 6265, one should remove deprecated cookie
properties, such as Version, from public API. So only the stated
issues with leading dot were addressed now.

Also note that the leading dot was not stripped from the domain even
though RFC 6265 proposed it. This behavior was chosen because
browsers like Chrome and Edge also don't strip the leading dot.

4 years agoAdd ReferenceConverter entry to intrinsic type converters table (#39854)
Santiago Fernandez Madero [Fri, 24 Jul 2020 06:13:07 +0000 (23:13 -0700)]
Add ReferenceConverter entry to intrinsic type converters table (#39854)

* Add ReferenceConverter entry to intrinsic type converters table

* Add tests

4 years agoRemove unused pinvokes for WinRT scenarios (#39846)
Aaron Robinson [Fri, 24 Jul 2020 01:03:29 +0000 (18:03 -0700)]
Remove unused pinvokes for WinRT scenarios (#39846)

* Remove GetRestructedErrorInfo P/Invoke

* Remove win32 core memory P/Invokes

* Remove RoGetBufferMarshaler P/Invoke

* Remove RoGetActivationFactory P/Invoke

* Remove CoreComm P/Invokes

* Remove IRestrictedErrorInfo definition.

4 years ago[aot] Avoid a crash in generic sharing for invalid generic instances. Fixes https...
monojenkins [Fri, 24 Jul 2020 00:58:24 +0000 (20:58 -0400)]
[aot] Avoid a crash in generic sharing for invalid generic instances. Fixes https://github.com/mono/mono/issues/20138. (#39869)

Co-authored-by: vargaz <vargaz@users.noreply.github.com>
4 years agoAnnotate TypeConverterAttribute so that the ILLinker preserves the ctor on the conver...
Layomi Akinrinade [Fri, 24 Jul 2020 00:54:19 +0000 (17:54 -0700)]
Annotate TypeConverterAttribute so that the ILLinker preserves the ctor on the converter (#39144)

* Annotate TypeConverterAttribute so that the ILLinker preserves the ctor on the converter

* Address review feedback & add attributes to ref

* Use custom enum converter type

* Split tests

4 years agoImplementation of CSE for GT_CNS_INT benefits ARM64 (#39096)
Brian Sullivan [Fri, 24 Jul 2020 00:20:46 +0000 (17:20 -0700)]
Implementation of CSE for GT_CNS_INT benefits ARM64 (#39096)

* Change the type of csdHashKey to size_t

* Update gtCostSz and gtCostEx for constant nodes

* Implementation of code size optimization, CSE of constant values for ARM64
Implementation of code size optimization, CSE of constant values for ARM64
We will share a single CSE for constants that differ only in their low 12 bits on ARM64

Number of shared constant low bits set in target.h  CSE_CONST_SHARED_LOW_BITS
we use 12 bits on Arm platforms and 16 bits on XArch platforms

Disable the CSE of the REG_R2R_INDIRECT_PARAM on Arm32
as it hits  Assertion failed 'candidates != candidateBit' in lsra.cpp Line: 3723

Config variable: COMPlus_JitConstCSE
// Default 0: enable the CSE of Constants, including nearby offsets. (only for ARM64)
// If 1, disable all the CSE of Constants
// If 2, enable the CSE of Constants but don't combine with nearby offsets. (only for ARM64)
// If 3, enable the CSE of Constants including nearby offsets. (all platforms)
// If 4, enable the CSE of Constants but don't combine with nearby offsets. (all platforms)
//

* Added additional Priority 0 test coverage for Floating Point optimizations

* Fix for COMPLUS_JitConstCSE=4

* Renamed config variable from COMPlus_JitDisableConstCSE to COMPlus_JitConstCSE

* Updated with Codereview feedback, removed sort from Const CSE phase

* Fix for assertionProp issue in the refTypesdynamic test

4 years agoWASM: Enable Invariant.Tests (#39814)
Santiago Fernandez Madero [Thu, 23 Jul 2020 23:21:06 +0000 (16:21 -0700)]
WASM: Enable Invariant.Tests (#39814)

* WASM: Enable Invariant.Tests

* Fix build and PR Feedback

4 years agoWASM: enable System.ObjectModel.Tests (#39849)
Santiago Fernandez Madero [Thu, 23 Jul 2020 22:05:43 +0000 (15:05 -0700)]
WASM: enable System.ObjectModel.Tests (#39849)

4 years agoRemove obsolete ActiveIssue attributes for #23972 (#39842)
Viktor Hofer [Thu, 23 Jul 2020 21:18:40 +0000 (23:18 +0200)]
Remove obsolete ActiveIssue attributes for #23972 (#39842)