platform/upstream/dotnet/runtime.git
4 years agoMerge pull request #37103 from maryamariyan/di-external
Maryam Ariyan [Wed, 3 Jun 2020 16:05:39 +0000 (09:05 -0700)]
Merge pull request #37103 from maryamariyan/di-external

Adding DI.External to runtime with its history

4 years agoEnables DI.External
Maryam Ariyan [Wed, 3 Jun 2020 15:49:06 +0000 (08:49 -0700)]
Enables DI.External
Moving around files in DI tests, correcting folder structure
Disable tests failing on mono and for netfx

4 years agoMerge commit '6ccc72a9df472b2e1efd10d0c3493d580a9992ca' into di-external
Maryam Ariyan [Wed, 3 Jun 2020 15:57:44 +0000 (08:57 -0700)]
Merge commit '6ccc72a9df472b2e1efd10d0c3493d580a9992ca' into di-external

4 years agoRun WASM tests with xharness (#37346)
Alexander Köplinger [Wed, 3 Jun 2020 14:28:31 +0000 (16:28 +0200)]
Run WASM tests with xharness (#37346)

Uses the xharness tool to drive the test execution rather than calling v8 directly.
Also includes a fix for running the tests in JavaScriptCore which doesn't provide performance.now().

4 years agoUpdate webassembly docker image with updated emscripten version (#37253)
Tammy Qiu [Wed, 3 Jun 2020 12:18:07 +0000 (08:18 -0400)]
Update webassembly docker image with updated emscripten version (#37253)

4 years ago[master] Update dependencies from dotnet/arcade mono/linker dotnet/llvm-project ...
dotnet-maestro[bot] [Wed, 3 Jun 2020 08:21:01 +0000 (08:21 +0000)]
[master] Update dependencies from dotnet/arcade mono/linker dotnet/llvm-project (#37302)

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

Microsoft.DotNet.XUnitExtensions , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.ApiCompat , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk , Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.GenAPI , Microsoft.DotNet.GenFacades , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.XUnitConsoleRunner
 From Version 5.0.0-beta.20278.4 -> To Version 5.0.0-beta.20280.1

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

Microsoft.NET.ILLink.Tasks
 From Version 5.0.0-preview.3.20301.1 -> To Version 5.0.0-preview.3.20302.1

* Update dependencies from https://github.com/dotnet/llvm-project build 20200601.1

runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , 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-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk
 From Version 9.0.1-alpha.1.20268.2 -> To Version 9.0.1-alpha.1.20301.1

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
4 years agoSupport COM objects using IEnumerator (#37326)
Elinor Fung [Wed, 3 Jun 2020 07:21:00 +0000 (00:21 -0700)]
Support COM objects using IEnumerator (#37326)

4 years agoOptimize WithLower, WithUpper, Create, AsInt64, AsUInt64, AsDouble with ARM64 hardwar...
Kunal Pathak [Wed, 3 Jun 2020 06:31:13 +0000 (23:31 -0700)]
Optimize WithLower, WithUpper, Create, AsInt64, AsUInt64, AsDouble with ARM64 hardware intrinsics (#37139)

* Optimize Vector64.AsDouble(), Vector64.AsInt64(), Vector64.AsUInt64()
* Optimize Vector128.WithUpper()
* Inline GetElement() as paramater
* Optimize Vector128.WithLower()
* Optimize Vector128.Create(Vector64, Vector64)

4 years agoMerge pull request #37182 from krwq/nullable-xml-3
Krzysztof Wicher [Wed, 3 Jun 2020 05:20:35 +0000 (22:20 -0700)]
Merge pull request #37182 from krwq/nullable-xml-3

Nullable: System.Xml, part 3

4 years agoAdd [SuppressGCTransition] to GetSysColor (#37284)
Jeremy Kuhne [Wed, 3 Jun 2020 02:46:19 +0000 (19:46 -0700)]
Add [SuppressGCTransition] to GetSysColor (#37284)

The API is just a bounds check array dereference. Adding the new attribute cuts the time getting the color in half. As this value isn't cached, this can add up with multiple calls to a `Color` that is based on a system color (on Windows).

4 years agoAdd a front page link to download daily builds (#37322)
Dan Moseley [Wed, 3 Jun 2020 02:44:32 +0000 (19:44 -0700)]
Add a front page link to download daily builds (#37322)

* Add link to installers

* Update README.md

Co-authored-by: Jan Kotas <jkotas@microsoft.com>
Co-authored-by: Stephen Toub <stoub@microsoft.com>
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
4 years agoRemove unnecessary volatile from EventCounter (#37309)
Stephen Toub [Wed, 3 Jun 2020 02:44:17 +0000 (22:44 -0400)]
Remove unnecessary volatile from EventCounter (#37309)

4 years agoAnnotate System.Diagnostics.TextWriterTraceListener for nullable reference types...
Stephen Toub [Wed, 3 Jun 2020 02:42:44 +0000 (22:42 -0400)]
Annotate System.Diagnostics.TextWriterTraceListener for nullable reference types (#37267)

4 years agoEnhance DiagnosticSource Test readability (#37294)
Tarek Mahmoud Sayed [Wed, 3 Jun 2020 01:12:05 +0000 (18:12 -0700)]
Enhance DiagnosticSource Test readability (#37294)

* Enhance DiagnosticSource Test readability

Use the C# 8.0 using statement feature to make the code more readable

* Address the feedback

* More feedback addressing

4 years agoAvoid allocating unused ObjectDisposedException per NegotiateStream (#37305)
Stephen Toub [Wed, 3 Jun 2020 00:56:01 +0000 (20:56 -0400)]
Avoid allocating unused ObjectDisposedException per NegotiateStream (#37305)

Take the same approach we're taking in SslStream.

4 years agoApply code fixes from recently added analyzers (#36097)
Prashanth Govindarajan [Wed, 3 Jun 2020 00:47:07 +0000 (17:47 -0700)]
Apply code fixes from recently added analyzers (#36097)

* Apply code-fixes from recently added analyzers

* Test CI with the analyzers enabled

* Fix build break

* Sneaked in from a merge?

4 years agoRevert "Adding A log presence check before trying to delete (#36779)" (#37323)
Santiago Fernandez Madero [Tue, 2 Jun 2020 23:53:46 +0000 (16:53 -0700)]
Revert "Adding A log presence check before trying to delete (#36779)" (#37323)

This reverts commit 96401ea68292a1de87d7675d534d8ca37e4f7066.

4 years agoMerge pull request #37329 from swaroop-sridhar/openssl
Swaroop Sridhar [Tue, 2 Jun 2020 23:47:49 +0000 (16:47 -0700)]
Merge pull request #37329 from swaroop-sridhar/openssl

Fix a typo in DropFromSingleFile list

4 years agoReturn nullptr from impSimdAsHWIntrinsic if the baseline ISA has been marked as disab...
Tanner Gooding [Tue, 2 Jun 2020 22:57:51 +0000 (15:57 -0700)]
Return nullptr from impSimdAsHWIntrinsic if the baseline ISA has been marked as disabled (#37272)

4 years agoFix a typo in DropFromSingleFile list
Swaroop Sridhar [Tue, 2 Jun 2020 22:38:52 +0000 (15:38 -0700)]
Fix a typo in DropFromSingleFile list

On Linus, libSystem.Security.Cryptography.Native.OpenSsl.so is getting dropped from single-file apps.
This change fixes the problem.

4 years ago[aot] Load the container module from load_aot_module (), so its loaded after mscorlib...
monojenkins [Tue, 2 Jun 2020 19:53:01 +0000 (15:53 -0400)]
[aot] Load the container module from load_aot_module (), so its loaded after mscorlib is loaded. (#37264)

If its loaded later, its loading could trigger the execution of managed code i.e. loader callbacks on netcore.

<!--
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 agoRemove serializer todos and add comments (#37170)
Steve Harter [Tue, 2 Jun 2020 18:44:18 +0000 (13:44 -0500)]
Remove serializer todos and add comments (#37170)

* Remove todos and add comments

* Update comment

4 years agoMerge pull request #37312 from dotnet/update-fedora-30-image
Matt Galbraith [Tue, 2 Jun 2020 18:43:45 +0000 (11:43 -0700)]
Merge pull request #37312 from dotnet/update-fedora-30-image

Update Fedora 30 Helix docker tag

4 years ago[interp] Fix tracing (#37300)
monojenkins [Tue, 2 Jun 2020 18:30:50 +0000 (14:30 -0400)]
[interp] Fix tracing (#37300)

Regressed recently with the change in return value handling.

Co-authored-by: BrzVlad <BrzVlad@users.noreply.github.com>
4 years ago[runtime] Fix a case where crash chaining was broken (#37261)
monojenkins [Tue, 2 Jun 2020 18:27:32 +0000 (14:27 -0400)]
[runtime] Fix a case where crash chaining was broken (#37261)

We must always have a call to mono_chain_signal() after mono_handle_native_crash(), in case signal chaining and crash chaining are both enabled.

4 years agoapply feedback
Krzysztof Wicher [Tue, 2 Jun 2020 18:18:37 +0000 (11:18 -0700)]
apply feedback

4 years ago(Hopefully) address https://github.com/dotnet/core-eng/issues/9969 - fedora:30 docker...
Matt Galbraith [Tue, 2 Jun 2020 16:29:26 +0000 (09:29 -0700)]
(Hopefully) address https://github.com/dotnet/core-eng/issues/9969 - fedora:30 docker tag has been revved since previous image was created, this may be the source of binary corruption inside the container.

Updated in https://github.com/fedora-cloud/docker-brew-fedora/blob/ec092e1e4679f955d142b91f85ecd30a4f14a6ed/x86_64/Dockerfile

4 years ago[browser][wasm] Wasm address miscellaneous code comments (#37235)
Kenneth Pouncey [Tue, 2 Jun 2020 14:47:09 +0000 (16:47 +0200)]
[browser][wasm] Wasm address miscellaneous code comments (#37235)

* Remove custom messages being passed to PNSE.

* Address miscellaneous code review comments

- Remove unnecessary sealed
- implement Properties instead of throwing PNSE
- refactoring to avoid the explicit static cctor

* Add extra new line at end of file

* Remove TODO comments

4 years agoRemove sample/AspNetCore (#37249)
Egor Bogatov [Tue, 2 Jun 2020 10:20:25 +0000 (13:20 +0300)]
Remove sample/AspNetCore (#37249)

4 years agoRename to libruntime-android.so to libmonodroid.so (#37251)
Egor Bogatov [Tue, 2 Jun 2020 10:20:00 +0000 (13:20 +0300)]
Rename to libruntime-android.so to libmonodroid.so (#37251)

4 years agoLinker-annotate Type/TypeInfo/RuntimeType (#37243)
Michal Strehovský [Tue, 2 Jun 2020 08:20:06 +0000 (10:20 +0200)]
Linker-annotate Type/TypeInfo/RuntimeType (#37243)

This annotates methods that linker was complaining about when analyzing their method bodies. We'll probably want to annotate additional methods that are unsafe, but linker doesn't see them.

4 years agoExpose ReferenceResolver and rename ReferenceHandling to ReferenceHandler (#36829)
David Cantu [Tue, 2 Jun 2020 07:05:26 +0000 (00:05 -0700)]
Expose ReferenceResolver and rename ReferenceHandling to ReferenceHandler (#36829)

* Expose ReferenceResolver and rename ReferenceHandling to ReferenceHandler

* Address some feedback

* Address feedback

* Clean-up code

* Change messages in string.resx

* Add test for a badly implemented resolver

* Address feedback.

4 years agoenable ServerAsyncAuthenticate_MismatchProtocols_Fails test (#36718)
Tomas Weinfurt [Tue, 2 Jun 2020 05:55:09 +0000 (22:55 -0700)]
enable ServerAsyncAuthenticate_MismatchProtocols_Fails test (#36718)

* enable ServerAsyncAuthenticate_MismatchProtocols_Fails test

* feedback from review

4 years agoupdate branding to preview7 (#37285)
Anirudh Agnihotry [Tue, 2 Jun 2020 03:27:53 +0000 (20:27 -0700)]
update branding to preview7 (#37285)

4 years agoAdd ILVerify from the corert repo (#35038)
Andy Gocke [Tue, 2 Jun 2020 00:03:45 +0000 (17:03 -0700)]
Add ILVerify from the corert repo (#35038)

* Add ILVerify from the corert repo

No significant source modifications were made, only moving the code and any missing
dependencies.

* Add NuGet package

* Add ILVerify tool sources from CoreRT repo

* Fix build and add dotnet tool package

Co-authored-by: Jan Kotas <jkotas@microsoft.com>
4 years agoUpdate Mono CoreLib LinkerDescriptor to match CoreCLR (#37257)
Eric Erhardt [Mon, 1 Jun 2020 22:30:56 +0000 (17:30 -0500)]
Update Mono CoreLib LinkerDescriptor to match CoreCLR (#37257)

#36715 and #37083 modified the CoreCLR version of CoreLib's linker descriptor file, but left them in the Mono version.

#37255 will address sharing the duplicated parts of these files.

4 years agoBinder tracing tests: log more info for timeouts (#37263)
Elinor Fung [Mon, 1 Jun 2020 22:21:27 +0000 (15:21 -0700)]
Binder tracing tests: log more info for timeouts (#37263)

4 years agoRemove HasCCWTemplate, HasGuidInfo, and HasRCWPerTypeData flags (#37193)
Elinor Fung [Mon, 1 Jun 2020 22:07:13 +0000 (15:07 -0700)]
Remove HasCCWTemplate, HasGuidInfo, and HasRCWPerTypeData flags (#37193)

4 years agoAdd RuntimeFeature.CovariantReturnsOfClasses (#37276)
Jan Vorlicek [Mon, 1 Jun 2020 21:57:15 +0000 (23:57 +0200)]
Add RuntimeFeature.CovariantReturnsOfClasses (#37276)

This is needed so that C# compiler can detect that the current runtime
supports the covariant returns of methods declared on classes.

4 years ago[interp] Switch to GC Unsafe mode before calling get_interp_to_native_trampoline...
Aleksey Kliger (λgeek) [Mon, 1 Jun 2020 21:29:03 +0000 (17:29 -0400)]
[interp] Switch to GC Unsafe mode before calling get_interp_to_native_trampoline (#37135)

* [interp] Switch to GC Unsafe mode before calling get_interp_to_native_trampoline

For PInvokes, `ves_pinvoke_method` is called when we're interpreting the
pinvoke wrapper, after it already executed a transition from GC Unsafe to GC
Safe mode.  At that point, calling back into the runtime we have to temporarily
switch back to GC Unsafe mode.

Example stack trace where we don't:

```
     0x10dbdd7d6 - /private/tmp/helix/working/B38709D8/p/libcoreclr.dylib : mono_dump_native_crash_info
      0x10db7f665 - /private/tmp/helix/working/B38709D8/p/libcoreclr.dylib : mono_handle_native_crash
      0x10dbdcf3f - /private/tmp/helix/working/B38709D8/p/libcoreclr.dylib : sigabrt_signal_handler
      0x7fff6886af5a - /usr/lib/system/libsystem_platform.dylib : _sigtramp
      0x0 - Unknown
      0x7fff686081ae - /usr/lib/system/libsystem_c.dylib : abort
      0x10dd9e887 - /private/tmp/helix/working/B38709D8/p/libcoreclr.dylib : monoeg_assert_abort
      0x10dd75257 - /private/tmp/helix/working/B38709D8/p/libcoreclr.dylib : mono_log_write_logfile
      0x10dd9ed15 - /private/tmp/helix/working/B38709D8/p/libcoreclr.dylib : monoeg_g_logv_nofree
      0x10dd9edd2 - /private/tmp/helix/working/B38709D8/p/libcoreclr.dylib : monoeg_g_log
      0x10dd8b4fc - /private/tmp/helix/working/B38709D8/p/libcoreclr.dylib : mono_threads_transition_do_blocking
      0x10dd8cc63 - /private/tmp/helix/working/B38709D8/p/libcoreclr.dylib : mono_threads_enter_gc_safe_region_unbalanced_with_info
      0x10dc40a39 - /private/tmp/helix/working/B38709D8/p/libcoreclr.dylib : mono_coop_mutex_lock
      0x10dc41e05 - /private/tmp/helix/working/B38709D8/p/libcoreclr.dylib : mono_domain_alloc0
      0x10dadba6f - /private/tmp/helix/working/B38709D8/p/libcoreclr.dylib : mono_tramp_info_register_internal
      0x10dbece91 - /private/tmp/helix/working/B38709D8/p/libcoreclr.dylib : get_interp_to_native_trampoline
      0x10dbebaf9 - /private/tmp/helix/working/B38709D8/p/libcoreclr.dylib : ves_pinvoke_method
      0x10dbe0e58 - /private/tmp/helix/working/B38709D8/p/libcoreclr.dylib : interp_exec_method
      0x10dbdf17b - /private/tmp/helix/working/B38709D8/p/libcoreclr.dylib : interp_runtime_invoke
      0x10dcbae58 - /private/tmp/helix/working/B38709D8/p/libcoreclr.dylib : mono_runtime_invoke_checked
      0x10dcbacf3 - /private/tmp/helix/working/B38709D8/p/libcoreclr.dylib : mono_runtime_object_init_handle
      0x10dc6367f - /private/tmp/helix/working/B38709D8/p/libcoreclr.dylib : mono_exception_new_by_name_domain
      0x10dc63523 - /private/tmp/helix/working/B38709D8/p/libcoreclr.dylib : mono_exception_from_name_domain
      0x10dbe81c6 - /private/tmp/helix/working/B38709D8/p/libcoreclr.dylib : interp_exec_method
      0x10dbdf17b - /private/tmp/helix/working/B38709D8/p/libcoreclr.dylib : interp_runtime_invoke
      0x10dcbae58 - /private/tmp/helix/working/B38709D8/p/libcoreclr.dylib : mono_runtime_invoke_checked
      0x10dcd6e69 - /private/tmp/helix/working/B38709D8/p/libcoreclr.dylib : start_wrapper_internal
      0x10dcd6b9e - /private/tmp/helix/working/B38709D8/p/libcoreclr.dylib : start_wrapper
      0x7fff68874661 - /usr/lib/system/libsystem_pthread.dylib : _pthread_body
      0x7fff6887450d - /usr/lib/system/libsystem_pthread.dylib : _pthread_body
      0x7fff68873bf9 - /usr/lib/system/libsystem_pthread.dylib : thread_start
```

4 years agoCallGetCalendarInfoEx() was being called twice even if the first call succeeded ...
Keith Newton [Mon, 1 Jun 2020 20:45:24 +0000 (16:45 -0400)]
CallGetCalendarInfoEx() was being called twice even if the first call succeeded (#37232)

* In CalendarData.CheckSpecialCalendar() when the calendar ID is GREGORIAN_US CallGetCalendarInfoEx() was being called twice even if the first call succeeded.

* Update src/libraries/System.Private.CoreLib/src/System/Globalization/CalendarData.Nls.cs

Co-authored-by: Stephen Toub <stoub@microsoft.com>
Co-authored-by: Keith Newton <anony@mous.com>
Co-authored-by: Tarek Mahmoud Sayed <tarekms@microsoft.com>
Co-authored-by: Stephen Toub <stoub@microsoft.com>
4 years agoInline and delete runtime.$(os).$(proj).props files (#37254)
Adeel Mujahid [Mon, 1 Jun 2020 20:39:23 +0000 (23:39 +0300)]
Inline and delete runtime.$(os).$(proj).props files (#37254)

4 years agoLibunwind 1.5rc2 again (#36988)
Steve MacLean [Mon, 1 Jun 2020 20:06:25 +0000 (16:06 -0400)]
Libunwind 1.5rc2 again (#36988)

* Add arm64 support for UNWIND_CONTEXT_IS_UCONTEXT_T==0

* Reapply libunwind 1.5rc2

* Fix Linux Alpine libunwind1.5rc2

4 years agoUpdate comment
Steve Harter [Mon, 1 Jun 2020 19:00:16 +0000 (14:00 -0500)]
Update comment

4 years ago[mono][metadata] Add a method custom attribute scanning function (#37172)
Aleksey Kliger (λgeek) [Mon, 1 Jun 2020 18:29:25 +0000 (14:29 -0400)]
[mono][metadata] Add a method custom attribute scanning function (#37172)

* [metadata] Add mono_method_metadata_foreach_custom_attr

Iterate over the custom attributes on a method in a way that's safe to use
during class initialization.

* [class-init] Generalize search for well-known attributes

Just on classes or methods for now.

Mark `method_has_require_methodimpl_to_remain_in_effect_attribute` with
`G_GNUC_UNUSED` for now - it will be needed for covariant returns

* [class-init] Fix debug message - it's not an iface override

We're going over the virtual methods of the base class looking for ones that
match the subclass.  These are plain old virtual methods, not interface methods

* rename to PreserveBaseOverridesAttribute

from the previous name.

Following latest comments in https://github.com/dotnet/runtime/issues/35315

4 years agoActivityContext Changes (#37185)
Tarek Mahmoud Sayed [Mon, 1 Jun 2020 18:24:41 +0000 (11:24 -0700)]
ActivityContext Changes (#37185)

* ActivityContext Changes

* Address the feedback

4 years ago[WIP] Covariant Returns Feature (#35308)
Fadi Hanna [Mon, 1 Jun 2020 18:24:04 +0000 (11:24 -0700)]
[WIP] Covariant Returns Feature (#35308)

* Covariant Returns Feature: Allowing return types on MethodImpl to be derived types of the return type on the MethodDecl.

Feature limitations:
  - Only supports MethodImpls and MethodDecls on classes (no interfaces/valuetypes).
  - MethodImpl and MethodDecl cannot be on the same type.
  - Interface/valuetypes not supported as covariant return types.

Changes are mostly a boolean flag being passed around to allow for covariant type checking in method signatures.
Generics are handled by correctly keeping track of the substitution chain while traversing the base type hierarchy for type comparison.

All method signature comparisons uses metadata for checking, without loading any type (with some exceptions).

Validation for the `ValidateMethodImplRemainsInEffectAttribute` is performed at the very last step of `CLASS_LOAD_EXACTPARENTS`.

Includes unit tests to cover positive/negative scenarios:
  - Non-generics
  - Generics, with various levels of complexities on generic instantiations and substitutions
  - GVMs
  - Delegates
  - Tests for validation of the existance/absence of the ValidateMethodImplRemainsInEffectAttribute
  - Interface and valuetype scenarios (negative scenarios)

* Adding the missing .ctor methods to the various types

* Perform covariant return signature matching only after an exact match fails

* Add test coverage for implicit override with less derived return type

* Change ValidateMethodImplRemainsInEffect attribute to apply to methods

* Moving covariant return type checking to the final stage of type loading, and use CanCastTo instead of signature-based checking, to be allow for type compatibility based on ECMA I.8.7.1.

* Rename attribute and reference it from System.Runtime instead of S.P.C

* Add test coverage for interface cases.

* Handling for struct cases, and adding test coverage for it.

* Small test fixes

* Fix consistency issue with the way the RequireMethodImplToRemainInEffectAttribute is declared

* Support covariant returns and slot unifications in crossgen2

These changes fix the behavior of the devirtualization algorithm to not incorrectly devirtualize covariant return methods that have the slot unification attribute

* Add unit test coverage for delegates

* Fix handling of covariant and contravariant generic interfaces

Also add tests for those.

* Added test cases to interfaces unit test

Based on PR feedback, I've added test cases to verify the load level
asserts change.

* Fix Nullable handling and add more tests

The attempt to overload method with int32 return value by a method with
Nullable<int32> was asserting in CanCastTo. This change fixes it by
pre-checking this case before calling into CanCastTo.
I've also slightly refactored the
ValidateMethodsWithCovariantReturnTypes by extracting the
compatible-with stuff into IsCompatibleWith method.

Added tests to test various compatible-with differences from the
originally used CanCastTo

- Change the CompatibleWithTest to call virtual methods on test
classes instead of just instantiating the classes.
- Update crossgen2 similar to the runtime to have IsCompatibleWith
method doing the same pre-filtering before calling CanCastTo.

* Rename the attribute to PreserveBaseOverridesAttribute

* Disable covariant returns tests on Mono for now

The mono doesn't implement the feature yet

Co-authored-by: Fadi Hanna <fadim@microsoft.com>
Co-authored-by: Jan Vorlicek <janvorli@microsoft.com>
4 years agoRename Installer test directory to tests (#34542)
Ahmed Mohamed [Mon, 1 Jun 2020 18:15:44 +0000 (20:15 +0200)]
Rename Installer test directory to tests (#34542)

* Rename test directory to tests for Installer and update .sln file
* Update eng/Subsets.props file

4 years agoMerge pull request #37020 from krwq/sp-rem-nat-from-fx
Krzysztof Wicher [Mon, 1 Jun 2020 17:45:44 +0000 (10:45 -0700)]
Merge pull request #37020 from krwq/sp-rem-nat-from-fx

Do not include System.IO.Ports.Native.* in NetCoreApp

4 years ago[master] Update dependencies from mono/linker dotnet/xharness (#37248)
dotnet-maestro[bot] [Mon, 1 Jun 2020 17:32:43 +0000 (17:32 +0000)]
[master] Update dependencies from mono/linker dotnet/xharness (#37248)

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

Microsoft.NET.ILLink.Tasks
 From Version 5.0.0-preview.3.20279.1 -> To Version 5.0.0-preview.3.20301.1

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

Microsoft.DotNet.XHarness.TestRunners.Xunit
 From Version 1.0.0-prerelease.20279.2 -> To Version 1.0.0-prerelease.20301.2

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
4 years agoFix doc comment (#37061)
Brian Friesen [Mon, 1 Jun 2020 16:08:50 +0000 (12:08 -0400)]
Fix doc comment (#37061)

Looks like a copy/paste error.

4 years agoDisable additional validation that is run post-build (#37102)
Matt Mitchell [Mon, 1 Jun 2020 15:21:04 +0000 (08:21 -0700)]
Disable additional validation that is run post-build (#37102)

* Disable additional validation that is run post-build
Disable more validation stages that are run post-build. The only
thing left to run during each build at this point is SourceLink validation.
Once that is available, the entire validation stage should be able to be skipped

4 years agoRev cmake minimum version from 3.14.2 to 3.14.5 (#34757)
Adeel Mujahid [Mon, 1 Jun 2020 15:05:33 +0000 (18:05 +0300)]
Rev cmake minimum version from 3.14.2 to 3.14.5 (#34757)

iOS requires 3.14.5 version and we have a special case for it. Since this is a minor version difference, and no distro is particularly providing cmake 3.14.2 package, it is safe to update to 3.14.5 to cover our supported platform matrix.

Discussion: https://github.com/dotnet/runtime/pull/33959#discussion_r396389297
Fixes: https://github.com/dotnet/runtime/issues/33976

Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
4 years agoMake URI Unc path recognition more consistent across platforms (#35050)
Miha Zupan [Mon, 1 Jun 2020 09:38:52 +0000 (11:38 +0200)]
Make URI Unc path recognition more consistent across platforms (#35050)

* Recognize '//' Uris as UNC on Unix

* Add test for Unc equality

* Add test for short Unc paths

* Add test for UNC implicit-explicit roundtrip

* Merge two if statements into one

4 years ago[browser][wasm][http] Fix System.Net.Http build failure (#37234)
Kenneth Pouncey [Mon, 1 Jun 2020 09:07:57 +0000 (11:07 +0200)]
[browser][wasm][http] Fix System.Net.Http build failure (#37234)

4 years ago[interp] Remove saving of clause_args from interp state (#37048)
monojenkins [Mon, 1 Jun 2020 07:59:04 +0000 (03:59 -0400)]
[interp] Remove saving of clause_args from interp state (#37048)

clause_args can be set only from EH. This means that clause_args can be set only in the first executed frame, so there is no need to save it in the interp state. Also make sure we never check for it in the main_loop block, for normal calls and returns. Added exec_frame to the clause_args so we can detect whether a frame is the first frame invoked from EH. We can no longer use clause_args for this purpose because we no longer save it in the interp state.

Makes calls 6% faster

Co-authored-by: BrzVlad <BrzVlad@users.noreply.github.com>
4 years ago[wasm] Initial addition of Browser WebAssembly support (#35573)
Kenneth Pouncey [Mon, 1 Jun 2020 05:37:19 +0000 (07:37 +0200)]
[wasm] Initial addition of Browser WebAssembly support (#35573)

* Add Browser specific files to the project

* Browser specific file modification to not include Quic support

* Add Browser specific support files for Http Handler code

* Add Interop code for JavaScript support

* Remove unused reference

* Add Http handler bindings implementation

- This still needs to have the code implement nullable

* Nullable support

* Add browser files back after upstream merge conflict

* Use attribute Link syntax for Common files to bring in sync with existing format

* Address Missing license header

* Code formatting and removal of comment code.

* Address PR comments.

* Address commit comments

* Add blank line between License and first line of code.  Address comments

* Replace SocketsHttpHandler build for Browser.

- Throws `PlatformNotSupportedException` for properties and methods of the HttpMessageHandler abstract implementation.

* Cleanup SendAsync code when doing the call out to JavaScript Fetch.

- Addresses commit comments.

* Refactor BrowserHttpHandler code.

* Cleanup

* Remove null check as it should be checked in outer classes

* Cleanup var usage to use explicit type.  Address commit comments

- For all of these vars, please replace them with the actual type, except when the type is obvious from a new or explicit cast on the right-hand side.

* Move `.ConfigureAwait(true)` to `.ConfigureAwait(false)`

- Address review comments

* Change accessor of Runtime javascript interop methods.

* Change accessor of Runtime javascript interop methods.

* Address review comments for unused code

* Cleanup leftover debug WriteLines

* Remove the AllowNull attributes as per review comments.

* Update src/libraries/Common/src/Interop/Browser/Interop.Runtime.cs

Co-Authored-By: Marek Safar <marek.safar@gmail.com>
* throw different exception type as per review comment

* use char[] array instead and return new string(array).

- Address review comments

* Initial addition of Browser Interop library

* use char[] array instead and return new string(array).

- Address review comments

* Add project references so the Interop.JavaScript project builds

* Coding Style update

* Split the runtime methods into two modules.

- .Api contains the methods that are only used internally from JavaScript bindings code.

* Move System.Runtime.Interop.JavaScript to \src\libraries

- Address review comments

* Change preprocessor to upper case TARGETS_BROWSER

- Address review comments

* Update src/libraries/Common/src/Interop/Browser/Interop.Runtime.Api.cs

Co-authored-by: Marek Safar <marek.safar@gmail.com>
* Update src/libraries/Common/src/Interop/Browser/Interop.Runtime.Api.cs

Co-authored-by: Marek Safar <marek.safar@gmail.com>
* Update src/libraries/Common/src/Interop/Browser/Interop.Runtime.Api.cs

Co-authored-by: Marek Safar <marek.safar@gmail.com>
* Rename from .Api to .Bridge to address review comments

* Modify .csproj files to reflect .Bridge.cs change.

* Remove unnecessary constant

* Add docs

* Update Bridge link

* Collapse code as per review comment.

* Address review comments on `Task.ConfigureAwait(continueOnCapturedContext: true)`.

- Added comment in source code.

* Address review comment about using PropertyInfo reflection.

- GetMethod("get_Result") is less expensive to use.

* Coding Style - Address review comments

* Part of code style and object documentation to partially address review comments.

* Update src/libraries/Common/src/Interop/Browser/Interop.JavaScript.JSObject.cs

Co-authored-by: Stephen Toub <stoub@microsoft.com>
* Update src/libraries/Common/src/Interop/Browser/Interop.Runtime.Bridge.cs

Co-authored-by: Stephen Toub <stoub@microsoft.com>
* Update src/libraries/System.Net.Http/src/System/Net/Http/BrowserHttpHandler/BrowserHttpHandler.cs

Co-authored-by: Stephen Toub <stoub@microsoft.com>
* Update src/libraries/System.Net.Http/src/System/Net/Http/BrowserHttpHandler/BrowserHttpHandler.cs

Co-authored-by: Stephen Toub <stoub@microsoft.com>
* Update src/libraries/System.Net.Http/src/System/Net/Http/BrowserHttpHandler/BrowserHttpHandler.cs

Co-authored-by: Stephen Toub <stoub@microsoft.com>
* Update src/libraries/System.Net.Http/src/System/Net/Http/BrowserHttpHandler/BrowserHttpHandler.cs

Co-authored-by: Stephen Toub <stoub@microsoft.com>
* Update src/libraries/System.Net.Http/src/System/Net/Http/BrowserHttpHandler/BrowserHttpHandler.cs

Co-authored-by: Stephen Toub <stoub@microsoft.com>
* Add class docs and code style updates

- Address review comments

* Update src/libraries/System.Net.Http/src/System/Net/Http/BrowserHttpHandler/BrowserHttpHandler.cs

Co-authored-by: Stephen Toub <stoub@microsoft.com>
* Fix badly formed XML

* Update src/libraries/System.Net.Http/src/System/Net/Http/BrowserHttpHandler/BrowserHttpHandler.cs

Co-authored-by: Stephen Toub <stoub@microsoft.com>
* Remove unnecessary Property implementations.

* Update src/libraries/System.Net.Http/src/System/Net/Http/BrowserHttpHandler/BrowserHttpHandler.cs

Co-authored-by: Stephen Toub <stoub@microsoft.com>
* Update code style involving the use of `var`

* Modify the underlying sockets field name.

- address review comments.

* Style and address review comments

* Remove reliance on ConnectHelper.cs code as it is not supported on Browser

- This removes the reliance on the QUIC support.

* Update src/libraries/Common/src/Interop/Browser/Interop.Runtime.Bridge.cs

Co-authored-by: Stephen Toub <stoub@microsoft.com>
* Remove null check for httpresponse.Content as it is always assigned to.

- Address review comments

* Address review comments

* Remove methods that will not be implemented right now,

* Add properties back to fix build error

- error : MembersMustExist : Member 'public System.Boolean System.Net.Http.SocketsHttpHandler.XXXXXXXXXXXX.get()' does not exist in the implementation but it does exist in the contract.

* Remove tcs TaskCompletionSource to address review comments

* code style change

* Remove disposing of _abortCts here as it causes runtime errors as being disposed of too early

* Address review comment for GetType()

* Rename library as per discussions

* Add lock around the _boundObjects and _rawToJS access.

- Address concurrency review comments

* Address review comments for disposing of CancellationTokenSource

* Address new HttpContent overloads in .NET 5 that take CancellationToken

* Add project and test structure for JavaScript InteropServices

* Remove previous modification as it is no longer needed.

* Update src/libraries/System.Net.Http/src/System/Net/Http/BrowserHttpHandler/BrowserHttpHandler.cs

Co-authored-by: Stephen Toub <stoub@microsoft.com>
* Remove custom message passed to the PNSE .ctor

* Update `mono` to dotnet or .NET

* Address review comment for internal sealed class

* Address extra message text

* Move these source modules to System.Runtime.InteropServices.JavaScript

* Add interop source modules to System.Runtime.InteropServices.JavaScript project

* Remove placeholder source

* Reference System.Runtime.InteropServices.JavaScript project

* Address review comments Unsafe.SizeOf

* Finish move of sources to InteropServices.JavaScript

* Remove ActiveIssue to address review comments

* Add core implementations

* Add core object implementation for Map

* Remove unused targetframework

* Fix PNSE in HttpClientHandler .ctor

- When creating an instance of the browser webassembly `System.Net.Http.BrowserHttpHandler` the following error is thrown.

```
System.PlatformNotSupportedException: Operation is not supported on this platform.
    at System.Net.Http.BrowserHttpHandler.get_SslOptions()
    at System.Net.Http.HttpClientHandler.ThrowForModifiedManagedSslOptionsIfStarted()
    at System.Net.Http.HttpClientHandler.set_ClientCertificateOptions(ClientCertificateOption value)
    at System.Net.Http.HttpClientHandler..ctor()
    at System.Net.Http.HttpClient..ctor()

```

* Remove extra parameters to `PlatformNotSupportedException`

* Fix tests due to underlying field name changing and reflection being used to obtain the socket field

Co-authored-by: Marek Safar <marek.safar@gmail.com>
Co-authored-by: Stephen Toub <stoub@microsoft.com>
4 years agoRevert "Enable test for MemoryBarrierProcessWide on arm64. Update comments." (#35974)
Vladimir Sadov [Mon, 1 Jun 2020 03:57:00 +0000 (20:57 -0700)]
Revert "Enable test for MemoryBarrierProcessWide on arm64. Update comments." (#35974)

* Revert "Enable test for MemoryBarrierProcessWide on arm64. Update comments. (#35817)"

This reverts commit b6341c6e1ada32117639cc409d445fd6b9b9e9f0.

* Update InterlockedTests.cs

rerun CI

4 years agoRewrite HashSet<T>'s implementation based on Dictionary<T>'s (#37180)
Stephen Toub [Sun, 31 May 2020 22:47:49 +0000 (18:47 -0400)]
Rewrite HashSet<T>'s implementation based on Dictionary<T>'s (#37180)

* Move HashSet to Corelib

* Small style cleanups in Dictionary

And factor out InsertionBehavior into its own file

* Rewrite HashSet based on Dictionary's implementation

This effectively deletes HashSet's data structure and replaces it with the one used by Dictionary, then updated for the differences (e.g. just a value rather than a key and a value).  HashSet used to have the same implementation, but Dictionary has evolved significantly and HashSet hasn't; this brings them to basic parity on implementation.

Based on perf tests, I veered away from Dictionary's implementation in a few places (e.g. a goto-based implementation in the core find method led to a significant regression for Int32-based Contains operations), and we should follow-up to understand whether Dictionary should be changed as well, or why there's a difference between the two.

Functionally, bringing over Dictionary's implementation yields a few notable changes, namely that Remove and Clear no longer invalidate enumerations.  The tests have been updated accordingly.

* Make a corresponding cleanup change to Dictionary

* Use HashSet in Corelib

* Address PR feedback

* Clean up HashSetEqualityComparer

* Port Dictionary's comparer serialization test to HashSet

* Address PR feedback

4 years agoFix ActivitySource to log the right amount of stopped (#37211)
Chandramouleswaran [Sun, 31 May 2020 22:06:11 +0000 (15:06 -0700)]
Fix ActivitySource to log the right amount of stopped (#37211)

* Fix ActivitySource to log the right amount of stopped

* Fix test and typo

Co-authored-by: Chandramouleswaran Ravichandran <chandramouleswaranravichandran@Chandramouleswarans-MacBook-Pro.local>
4 years agoAdd Or int? (#37225)
Steven Yeh [Sun, 31 May 2020 21:17:52 +0000 (16:17 -0500)]
Add Or int? (#37225)

4 years agoUpdate Directory.Build.props (#37218)
Viktor Hofer [Sun, 31 May 2020 20:42:01 +0000 (22:42 +0200)]
Update Directory.Build.props (#37218)

Remove workaround for https://github.com/microsoft/msbuild/issues/4474.

4 years ago[wasm] Include the pinvoke table into a separate file, so the generated declarations...
Zoltan Varga [Sun, 31 May 2020 20:26:12 +0000 (16:26 -0400)]
[wasm] Include the pinvoke table into a separate file, so the generated declarations don't conflict with the ones in the header files included by driver.c. (#37202)

* [wasm] Include the pinvoke table into a separate file, so the generated declarations don't conflict with the ones in the header files included by driver.c.

Same as https://github.com/mono/mono/pull/19853.

* Update src/mono/wasm/runtime/pinvoke.c

Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
4 years agoUse the wasm version of System.Console on wasm. (#37221)
Zoltan Varga [Sun, 31 May 2020 19:54:23 +0000 (15:54 -0400)]
Use the wasm version of System.Console on wasm. (#37221)

4 years agoReduce Uri ctor overhead (#36915)
Miha Zupan [Sun, 31 May 2020 19:15:45 +0000 (21:15 +0200)]
Reduce Uri ctor overhead (#36915)

* Optimize UriHelper.EscapedAscii

* Contains > IndexOf

* Join CheckForUnicode and CheckForEscapedUnreserved into 1 function

* Rename EscapedAscii to DecodeHexChars

4 years agoFix bad documentation links (#37222)
Bruce Forstall [Sun, 31 May 2020 17:49:58 +0000 (10:49 -0700)]
Fix bad documentation links (#37222)

Also, don't make documentation specific to CoreCLR.

4 years agoUpdate coverlet version to fix coverage exceptions (#37217)
Viktor Hofer [Sun, 31 May 2020 17:44:26 +0000 (19:44 +0200)]
Update coverlet version to fix coverage exceptions (#37217)

* Update coverlet version to fix coverage FNFEs

Changelog: https://github.com/coverlet-coverage/coverlet/blob/master/Documentation/Changelog.md#release-date-2020-05-30

-Fix 'The process cannot access the file...because it is being used by another process' due to double flush for collectors driver #https://github.com/coverlet-coverage/coverlet/pull/835

* Update dotnet-tools.json

4 years agoReduce duplication in Linux build instructions (#37175)
Bruce Forstall [Sun, 31 May 2020 17:30:19 +0000 (10:30 -0700)]
Reduce duplication in Linux build instructions (#37175)

All the Docker information was duplicated in two places; remove
that duplication.

4 years agoAdd SslStream test for zero-byte reads (#37128)
Stephen Toub [Sun, 31 May 2020 14:19:39 +0000 (10:19 -0400)]
Add SslStream test for zero-byte reads (#37128)

* Add SslStream test for zero-byte reads

We have higher-level tests for libraries like WebSockets that validate the behavior of zero-byte reads, but we don't currently have one in System.Net.Security's tests.  Adding one.

* Address PR feedback

4 years agoDefine TargetsUnix for wasm. (#37207)
Zoltan Varga [Sun, 31 May 2020 13:49:00 +0000 (09:49 -0400)]
Define TargetsUnix for wasm. (#37207)

4 years ago[mono] Enable parallel mode for xunit on Android by default (#37058)
Egor Bogatov [Sun, 31 May 2020 13:28:47 +0000 (16:28 +0300)]
[mono] Enable parallel mode for xunit on Android by default (#37058)

4 years ago[master] Update dependencies from dotnet/arcade Microsoft/vstest (#37200)
dotnet-maestro[bot] [Sat, 30 May 2020 23:53:16 +0000 (16:53 -0700)]
[master] Update dependencies from dotnet/arcade Microsoft/vstest (#37200)

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

Microsoft.DotNet.XUnitExtensions , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.ApiCompat , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk , Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.GenAPI , Microsoft.DotNet.GenFacades , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.XUnitConsoleRunner
 From Version 5.0.0-beta.20261.9 -> To Version 5.0.0-beta.20278.4

* Update dependencies from https://github.com/microsoft/vstest build 20200529-01

Microsoft.NET.Test.Sdk
 From Version 16.7.0-preview-20200521-01 -> To Version 16.7.0-preview-20200529-01

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
4 years agoFix fast tail calls on Windows ARM64. (#37192)
Eugene Rozenfeld [Sat, 30 May 2020 23:34:19 +0000 (16:34 -0700)]
Fix fast tail calls on Windows ARM64. (#37192)

LowerFastTailCall has code that looks for incoming stack arguments
that may be overwritten by outgoing stack arguments and copies
them to a temp. The logic was incorrect for Windows Arm64 because it was
assuming shadow space, which only exists in Windows x64 abi.

Fixes #31729.
Fixes #36911.

4 years agoDelete unused file (#37201)
Jan Kotas [Sat, 30 May 2020 19:20:18 +0000 (12:20 -0700)]
Delete unused file (#37201)

4 years agoLowLevelLifoSemaphore: Fix incorrect field offset (#37076)
Filip Navara [Sat, 30 May 2020 17:15:58 +0000 (19:15 +0200)]
LowLevelLifoSemaphore: Fix incorrect field offset (#37076)

Fixes #37075

4 years agoInit dictionary with clear count (#37041)
lindexi [Sat, 30 May 2020 17:13:05 +0000 (01:13 +0800)]
Init dictionary with clear count (#37041)

4 years agoUse nuint for bytes counter inside SafeBuffer (#37173)
Marek Safar [Sat, 30 May 2020 16:04:26 +0000 (18:04 +0200)]
Use nuint for bytes counter inside SafeBuffer (#37173)

* Use nuint for bytes counter inside SafeBuffer

* One more place to update

4 years agoReformat WasmAppBuilder to conform to the coding conventions. NFC. (#37199)
Zoltan Varga [Sat, 30 May 2020 15:09:38 +0000 (11:09 -0400)]
Reformat WasmAppBuilder to conform to the coding conventions. NFC. (#37199)

4 years agoBump to updated WebAssembly runner from xharness (#37178)
Alexander Köplinger [Sat, 30 May 2020 08:02:50 +0000 (10:02 +0200)]
Bump to updated WebAssembly runner from xharness (#37178)

4 years agoAllow GetReJITIDs calls with NULL to get number of IDs (#37187)
David Mason [Sat, 30 May 2020 06:36:02 +0000 (23:36 -0700)]
Allow GetReJITIDs calls with NULL to get number of IDs (#37187)

4 years agoReplace CoreClr issue numbers with Runtime issue links. (#37188)
Anton Lapounov [Sat, 30 May 2020 03:39:02 +0000 (20:39 -0700)]
Replace CoreClr issue numbers with Runtime issue links. (#37188)

Also replace tabs with spaces and remove a duplicate entry.

4 years agoRemove ObsoleteAttribute and EditorBrowsableAttribute (#37184)
Aaron Robinson [Sat, 30 May 2020 00:59:37 +0000 (17:59 -0700)]
Remove ObsoleteAttribute and EditorBrowsableAttribute (#37184)

4 years agoFix Mono C++ build. (#37153)
Johan Lorensson [Sat, 30 May 2020 00:52:53 +0000 (02:52 +0200)]
Fix Mono C++ build. (#37153)

4 years agoRemove built-in WinRT support from the runtime (#36715)
Jeremy Koritzinsky [Sat, 30 May 2020 00:37:12 +0000 (17:37 -0700)]
Remove built-in WinRT support from the runtime (#36715)

4 years agofixed a bug in updating the gen0 budget for AllocateUninitializedArray (#37148)
Maoni Stephens [Fri, 29 May 2020 23:57:43 +0000 (16:57 -0700)]
fixed a bug in updating the gen0 budget for AllocateUninitializedArray (#37148)

For AllocateUninitializedArray, we don't consume all the memory we get
from the gen0 budget but we are not putting back the part we don't consume.
This artificial consumption in budget can mean we trigger a GC way too early
when we haven't actually allocated that much.

4 years agoMake H3StaticTable class static (#36222)
Youssef Victor [Fri, 29 May 2020 22:35:04 +0000 (00:35 +0200)]
Make H3StaticTable class static (#36222)

* Make class as static

* Update H3StaticTable.cs

* Update H3StaticTable.cs

* Update H3StaticTable.cs

4 years agoAdd activity Ids and Context to log scopes (#37092)
Tarek Mahmoud Sayed [Fri, 29 May 2020 22:28:26 +0000 (15:28 -0700)]
Add activity Ids and Context to log scopes (#37092)

* Add activity Ids and Context to log scopes

* Fix name casing

* Address the feedback

* Address the feedback

* Validate ActivityTrackingOptions input and add test

4 years ago[interp] Remove assertions from release and add more to debug builds (#37160)
Vlad Brezae [Fri, 29 May 2020 22:09:11 +0000 (01:09 +0300)]
[interp] Remove assertions from release and add more to debug builds (#37160)

* [interp] Remove some assertions from hot path

We can keep them only for debug builds, where in the future we can add more verbose assertions, like ones for stack overflows.

* [interp] Add more assertions on debug build

Most of the weird interp bugs are due to overflows in the interp stacks. Since we now test interp on CI with debug build, try to catch them early.

4 years agoFix fixed dictionary sizes in apple crypto key generation
Kevin Jones [Fri, 29 May 2020 21:58:04 +0000 (17:58 -0400)]
Fix fixed dictionary sizes in apple crypto key generation

Both dictionaries had a fixed size of two, however three items were being added to it.
This is undefined behavior in the documentation.

4 years agoAllow DynamicallyAccessedMembersAttribute on methods (#36340)
Vitek Karas [Fri, 29 May 2020 21:15:46 +0000 (14:15 -0700)]
Allow DynamicallyAccessedMembersAttribute on methods (#36340)

Allow DynamicallyAccessedMembersAttribute on methods

4 years agoRemove AnonymousType ILLinkTrim entry for EventSource (#37083)
Eric Erhardt [Fri, 29 May 2020 21:09:22 +0000 (16:09 -0500)]
Remove AnonymousType ILLinkTrim entry for EventSource (#37083)

Instead of using an anonymous type to do the logging, just pass the string directly.

Contributes to #35199

4 years agoNullable: System.Xml, part 3
Krzysztof Wicher [Fri, 29 May 2020 21:07:47 +0000 (14:07 -0700)]
Nullable: System.Xml, part 3

4 years agoUpdate dependencies from https://github.com/mono/linker build 20200529.1 (#37157)
dotnet-maestro[bot] [Fri, 29 May 2020 20:46:22 +0000 (20:46 +0000)]
Update dependencies from https://github.com/mono/linker build 20200529.1 (#37157)

Microsoft.NET.ILLink.Tasks
 From Version 5.0.0-preview.3.20278.2 -> To Version 5.0.0-preview.3.20279.1

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
4 years ago[browser][wasm] Add initial webassembly instructions document. (#37123)
Kenneth Pouncey [Fri, 29 May 2020 20:35:37 +0000 (22:35 +0200)]
[browser][wasm] Add initial webassembly instructions document. (#37123)

4 years ago[mono] Remove some dead code from Delegate.DynamicInvoke (#37085)
Aleksey Kliger (λgeek) [Fri, 29 May 2020 19:30:41 +0000 (15:30 -0400)]
[mono] Remove some dead code from Delegate.DynamicInvoke (#37085)

* [mono] Remove some dead code from System.Delegate.DynamicInvokeImpl

Remove some dead code from `System.Delegate.DynamicInvoke`.  It should be the
case that `Method` is non-`null` when we call `DynamicInvoke` - the delegate
method should be known at the time of the invoke, and it should not be picked
based on the arguments.

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

4 years agoUpdate area-owners.md (#37171)
Dan Moseley [Fri, 29 May 2020 19:27:55 +0000 (12:27 -0700)]
Update area-owners.md (#37171)

4 years agoRemove todos and add comments
Steve Harter [Fri, 29 May 2020 18:47:05 +0000 (13:47 -0500)]
Remove todos and add comments

4 years agoMerge pull request #37147 from swaroop-sridhar/publishhost
Swaroop Sridhar [Fri, 29 May 2020 18:22:43 +0000 (11:22 -0700)]
Merge pull request #37147 from swaroop-sridhar/publishhost

Publish singlefilehost on Linux, Osx, FreeBSD

4 years agoFix Linux requirements document (#37145)
Bruce Forstall [Fri, 29 May 2020 18:09:05 +0000 (11:09 -0700)]
Fix Linux requirements document (#37145)

Update linux-requirements.md

Fix copy/paste error, update wording related to LLVM APT feed.

4 years agoAdd more verbose logging (#37089)
John Salem [Fri, 29 May 2020 16:36:18 +0000 (09:36 -0700)]
Add more verbose logging (#37089)

* log out stdout/stderr of subprocess
* instead of using Process.Kill, gracefully exit