platform/upstream/dotnet/runtime.git
2 years agoAdd UnmanagedCallersOnly attribute to SafeDeleteSslContext.ReadFromConnection/WriteTo...
Maxim Lipnin [Tue, 17 Aug 2021 16:33:06 +0000 (19:33 +0300)]
Add UnmanagedCallersOnly attribute to SafeDeleteSslContext.ReadFromConnection/WriteToConnection methods (#55947)

* Add UnmanagedCallersOnly attribute to  SafeDeleteSslContext.ReadFromConnection/WriteToConnection methods

* Fix the build

Co-authored-by: Jan Kotas <jkotas@microsoft.com>
* Fix the build

* Add SslSetConnection interop method to make sure the right SafeDeleteSslContext instance is associated to an ssl session

* Update entrypoints.c with new DllImport

Co-authored-by: Jan Kotas <jkotas@microsoft.com>
Co-authored-by: Steve Pfister <steve.pfister@microsoft.com>
Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
2 years agoUse OID constructor for certificate SignatureAlgorithm.
Kevin Jones [Tue, 17 Aug 2021 15:58:13 +0000 (11:58 -0400)]
Use OID constructor for certificate SignatureAlgorithm.

This fixes an issue where it was not possible to get the SignatureAlgorithm
on Windows if the signature algorithm does not have a FriendlyName, like
a GOST certificate. This changes the SignatureAlgorithm property to use the
OID constructor so that the value can always be accessed, and the FriendlyName
is lazily resolve when the property is accessed.

2 years agoJIT: Don't fold NEG(NEG(X)) to X when NEG(x) is a CSE candidate (#57478)
Egor Bogatov [Tue, 17 Aug 2021 15:27:11 +0000 (18:27 +0300)]
JIT: Don't fold NEG(NEG(X)) to X when NEG(x) is a CSE candidate (#57478)

2 years ago[wasm] [debugger] Cache debugger information on Proxy side to avoid going to debugger...
Thays Grazia [Tue, 17 Aug 2021 15:22:09 +0000 (12:22 -0300)]
[wasm] [debugger] Cache debugger information on Proxy side to avoid going to debugger-agent everytime. (#57404)

* Caching some debugger information to avoid going to debugger-agent everytime.

* Apply suggestions from code review

Co-authored-by: Ankit Jain <radical@gmail.com>
* Addressing @radical comments.

* Adding cache for generic type.

* Fix merge.

* Fixing test behavior.

* Fixing debuggerproxy.

* Fixing merge
Fixing tests.

Co-authored-by: Ankit Jain <radical@gmail.com>
2 years agoAvoid most of the (small) regressions for seeded and derived Random instances (#57530)
Stephen Toub [Tue, 17 Aug 2021 15:07:31 +0000 (11:07 -0400)]
Avoid most of the (small) regressions for seeded and derived Random instances (#57530)

* Split Random compat implementation to address most regressions

When we introduced the new Random algorithm, we did so by factoring the old algorithm out into an implementation strategy class that is instantiated for all use other than `new Random()`.  This ends up penalizing other uses (providing a seed and/or deriving from Random) by adding more virtual dispatch than is strictly necessary, in particular for `new Random(seed)`.  This PR negates most of that (expected) regression by splitting the compat implementation in two, one class for `new Random(seed)` and one for `new DerivedRandom()`/`new DerivedRandom(seed)`; the former no longer needs to make virtual calls back out to the parent type.  The former is also one that a consumer can't really do anything to improve, whereas in the derived case, the derivation may override to provide a more optimal implementation.

* Change NextUInt64 implementation to reduce number of calls

We haven't shipped this yet, so we can change its implementation to make 3 calls instead of 8 and to delegate to a different overload of Next.

* Consolidate NextBytes to use span

2 years agoSkip CSE for non-hoistable floats (#57438)
Egor Bogatov [Tue, 17 Aug 2021 15:06:04 +0000 (18:06 +0300)]
Skip CSE for non-hoistable floats (#57438)

2 years agoAdd `zip` tool to the install list for Android tests (#57569)
Vitek Karas [Tue, 17 Aug 2021 15:00:48 +0000 (17:00 +0200)]
Add `zip` tool to the install list for Android tests (#57569)

On default WSL Ubuntu `zip` is not installed, and trying to build Android tests fails with rather cryptic errors.

2 years ago[iOS] [Android] Remove PNSE from some HttpClientHandler methods (#57555)
Steve Pfister [Tue, 17 Aug 2021 14:52:51 +0000 (10:52 -0400)]
[iOS] [Android] Remove PNSE from some HttpClientHandler methods (#57555)

Since HttpClientHandler on mobile can support both the underlying native handler and SocketsHttpHandler, it doesn't make sense to always throw PNSE on some methods due to only the native handler not supporting them.

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

Co-authored-by: Steve Pfister <steve.pfister@microsoft.com>
2 years ago[mono] Check for additional implemented variant interfaces (#57086)
Aleksey Kliger (λgeek) [Tue, 17 Aug 2021 14:23:31 +0000 (10:23 -0400)]
[mono] Check for additional implemented variant interfaces (#57086)

* [class-setup-vtable] Use flags bitmask in check_interface_method_override

No funcitonal change yet.

* [class-setup-vtable] Check additional slots when explicitly implementing variant interfaces

If a class implements a variant interface, consider whether it is explicitly
implementing (as opposed to obtaining by being a subclass of some base class)
some variant interfaces.

Two examples:
public interface IFactory<out T> { T Get(); }
public class Foo {}
public class Bar : Foo {}
public class FooFactory : IFactory<Foo> { public Foo Get() => new Foo(); }
public class BarFactory : FooFactory, IFactory<Bar> { public new Bar Get() => new Bar(); }

In this case, BarFactory explicitly implements IFactory<Bar> and also
IFactory<Foo>.

Conversely for contravariant gparams:
interface ITaker<in T> { string Consume (T x); }
class Foo {}
class Bar : Foo {}
class BarTaker : ITaker<Bar> { public string Consume (Bar x) => "consumed Bar"; }
class FooTaker : BarTaker, ITaker<Foo> { public string Consume (Foo x) =>
"consumed Foo"; }

In this case FooTaker implements ITaker<Foo> but also ITaker<Bar>.

When this happens, the signature of the implementing method 'Bar
BarFactory:Get()' doesn't match the signature of the implemented interface
method 'Foo IFactory<Foo>:Get()'.

We should check the signature parameters of the candidate method and the
implemented method, but I think the interface setup code already checks this
for us.

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

* oops, disable vtable tracing

* Use explicit variant interface to implement base type interfaces

2 years agoFix DacHeapWalker for USE_REGIONS (#56796)
Andrew Au [Tue, 17 Aug 2021 14:18:47 +0000 (07:18 -0700)]
Fix DacHeapWalker for USE_REGIONS (#56796)

2 years ago[QUIC] QuicStream add ReadsCompleted (#57492)
Natalia Kondratyeva [Tue, 17 Aug 2021 12:22:06 +0000 (14:22 +0200)]
[QUIC] QuicStream add ReadsCompleted (#57492)

Add ReadsCompleted API that exposes ReadState=ReadsCompleted, set ReadState to ReadsCompleted if FIN flag arrives in RECEIVE event, fix ReadState changing to final stauses, expand ReadState transition description

Fixes #55707

2 years ago[main] Update dependencies from dotnet/runtime dotnet/emsdk (#57491)
dotnet-maestro[bot] [Tue, 17 Aug 2021 10:58:38 +0000 (12:58 +0200)]
[main] Update dependencies from dotnet/runtime dotnet/emsdk (#57491)

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

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

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

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

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
2 years agoSystem.Net.NetworkInformation UnsupportedOSPlatform attributes (#57281)
Marie Píchová [Tue, 17 Aug 2021 10:44:11 +0000 (12:44 +0200)]
System.Net.NetworkInformation UnsupportedOSPlatform attributes (#57281)

* Added UnsupportedOSPlatform attributes to PNSE thowing methods

* Replaced unix with the list of OSes

2 years agoFix System.Text.Json IAsyncEnumerator disposal on cancellation (#57505)
Eirik Tsarpalis [Tue, 17 Aug 2021 10:16:27 +0000 (11:16 +0100)]
Fix System.Text.Json IAsyncEnumerator disposal on cancellation (#57505)

* Ensure WriteStack.Pending task is awaited on exception. Ensure IAsyncDisposable instances are disposed exactly once.

Fixes #57360.

* Update src/libraries/System.Text.Json/tests/Common/CollectionTests/CollectionTests.AsyncEnumerable.cs

2 years agoMove Select_AcceptNonBlocking_Success to non-parallel collection (#57503)
Anton Firszov [Tue, 17 Aug 2021 09:13:40 +0000 (11:13 +0200)]
Move Select_AcceptNonBlocking_Success to non-parallel collection (#57503)

2 years agoRe-enable NameResolution tests on SLES, Debian 9 and Ubuntu 16.04 (#57509)
Karel Zikmund [Tue, 17 Aug 2021 08:40:14 +0000 (10:40 +0200)]
Re-enable NameResolution tests on SLES, Debian 9 and Ubuntu 16.04 (#57509)

The underlying infrastructure issue was addressed in https://github.com/dotnet/core-eng/issues/13889

Fixes #55271
Fixes #56295

2 years agodon't fail LongModuleFileNamesAreSupported test if we can't load assembly on x86...
Adam Sitnik [Tue, 17 Aug 2021 07:49:41 +0000 (09:49 +0200)]
don't fail LongModuleFileNamesAreSupported test if we can't load assembly on x86  (#57471)

2 years ago[wasm] Redesign of JS objects marshaling and lifecycle (#57098)
Pavel Savara [Tue, 17 Aug 2021 04:48:45 +0000 (06:48 +0200)]
[wasm] Redesign of JS objects marshaling and lifecycle (#57098)

* thenable and datetime cleanup

* removed ownsHandle for readability, removed AnyRef from hierarchy, removed old refcount debug code

* rename _csOwnedObjects

* rename _csOwnedObjects

* redirect to Inflight counter

* renames

* rename and move

* rename

* New+BindCoreObject -> CreateCsOwnedObject single call

* remove refcount frames

* differentiate gcHandles

* get rid of weak GCHandle

* feedback

* added MappedType enum

* naming consistency

* feedback

* rename _cs_owned_objects_by_js_handle

* split and rename files

* shouldAddInflight to more methods

* improved in-flight references

* assert for JSObject not disposed

* introduce in-flight assert

* move should_add_in_flight arg to fisrt position, so that we could bind it in convert

* doc

* cleanup

* doc

* implement fallback for missing support of FInalizationRegistry/WeakRef in onlder browsers

* feedback

* no polyfill feedback

* feedback

* name consistency feedback

* use symbols for helper fields

* feedback

2 years agoInitialize gtUseNum before use (#57256)
Kunal Pathak [Tue, 17 Aug 2021 04:35:39 +0000 (21:35 -0700)]
Initialize gtUseNum before use (#57256)

* Initialize gtUseNum

* Add test case

* catch the exceptions in test case

* kind of disable test

* try to exclude the test one more time

2 years agoAdd more Metrics API overloads taking tags (#56940)
Tarek Mahmoud Sayed [Tue, 17 Aug 2021 04:08:12 +0000 (21:08 -0700)]
Add more Metrics API overloads taking tags (#56940)

* Add more Metrics API overloads taking tags

2 years agoFix handling of new connection in MsQuicListener (#57319)
Tomas Weinfurt [Tue, 17 Aug 2021 01:35:26 +0000 (18:35 -0700)]
Fix handling of new connection in MsQuicListener (#57319)

* update

* feedback from review

2 years agoSet CMAKE_OSX_DEPLOYMENT_TARGET for all Mono AOT compilers on macOS (#57507)
Alexander Köplinger [Tue, 17 Aug 2021 01:28:31 +0000 (03:28 +0200)]
Set CMAKE_OSX_DEPLOYMENT_TARGET for all Mono AOT compilers on macOS (#57507)

* Set CMAKE_OSX_DEPLOYMENT_TARGET for all Mono AOT compilers on macOS

Not just if we're targetting iOS/tvOS/macOS since the AOT compiler for WASM or Android can run on macOS too.

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

* Use RealTargetOS if it's available

2 years agoAdd linux mariner to rolling builds for libraries tests (#57322)
Santiago Fernandez Madero [Tue, 17 Aug 2021 01:01:52 +0000 (18:01 -0700)]
Add linux mariner to rolling builds for libraries tests (#57322)

* Add linux mariner to rolling builds for libraries tests

* Adjust ChasChaPoly crypto test for mariner

* Disable tests failing on mono

2 years ago[mono][llvm] Access mono_thread_interruption_request_flag directly from llvm generate...
Zoltan Varga [Tue, 17 Aug 2021 00:18:51 +0000 (20:18 -0400)]
[mono][llvm] Access mono_thread_interruption_request_flag directly from llvm generated code, similarly to mono_polling_required. (#57263)

2 years agoCheck for OpenSSL availability for OpenSsl asymmetric primitives
Kevin Jones [Mon, 16 Aug 2021 23:52:08 +0000 (19:52 -0400)]
Check for OpenSSL availability for OpenSsl asymmetric primitives

If you attempt to use any of the *OpenSsl primitives on macOS, this will currently abort the whole process.
This changes them to check for OpenSSL's presence and throw an appropriate exception instead of aborting.

When used as an internal implementation, the aborting behavior remains.

2 years agoRevert "[mono] Fix a few corner case overflow operations (#57407)" (#57501)
Sam Patel [Mon, 16 Aug 2021 23:18:10 +0000 (19:18 -0400)]
Revert "[mono] Fix a few corner case overflow operations (#57407)" (#57501)

This reverts commit e81efc832ae56978ae26ff0dbf17cb5622cee735.

2 years agoLocalized file check-in by OneLocBuild Task (#57384)
dotnet bot [Mon, 16 Aug 2021 21:57:42 +0000 (14:57 -0700)]
Localized file check-in by OneLocBuild Task (#57384)

2 years ago[debugger][wasm] Support DebuggerProxyAttribute (#56872)
Thays Grazia [Mon, 16 Aug 2021 21:52:06 +0000 (18:52 -0300)]
[debugger][wasm] Support DebuggerProxyAttribute (#56872)

* Implementing debugger proxy

* fix compilation

* Implement debuggerproxy attribute.

* Reusing code for DebuggerProxy method and DebuggerDisplay method.

* Fix unit tests.

* Fixing unit tests that uses List<T>.

* Fix unit tests that uses List.

* Addressing @radical comments.

* Using flags enum as suggested by @lewing.

* Fixing merge.

* Addressing @radical comments.

* Addressing @radical comments.

Co-authored-by: Larry Ewing <lewing@microsoft.com>
2 years agoAccount for type mismatch of `FIELD_LIST` members in LSRA (#57450)
SingleAccretion [Mon, 16 Aug 2021 21:22:06 +0000 (00:22 +0300)]
Account for type mismatch of `FIELD_LIST` members in LSRA (#57450)

* Add the test

* Fix the bug

Assertion propagation can replace a TYP_UBYTE field
in a field list with a TYP_INT constant, so LSRA
must use the actual field type when deciding whether
an internal register to allocate must be byteable.

2 years agoQualify `sorted_table` allocation with `nothrow` (#57467)
Michal Strehovský [Mon, 16 Aug 2021 20:49:28 +0000 (05:49 +0900)]
Qualify `sorted_table` allocation with `nothrow` (#57467)

It's clearly what we intended, given the following line.

2 years agoRename transport packages to follow convention (#57504)
Viktor Hofer [Mon, 16 Aug 2021 20:18:08 +0000 (22:18 +0200)]
Rename transport packages to follow convention (#57504)

* Rename transport packages to follow convention

As agreed on in https://github.com/dotnet/windowsdesktop/pull/1936, we
want to follow a common schema when naming our transport packages.

Also updating the docs to reflect the name changes and to also
accomodate for the WindowsDesktop transport package.

* Update src.proj

* Update src.proj

2 years agoGenerate proper DWARF reg num for ARM32 (#57443)
Andrii Kurdiumov [Mon, 16 Aug 2021 19:46:26 +0000 (01:46 +0600)]
Generate proper DWARF reg num for ARM32 (#57443)

After introduction of VFP-v3 ARM S0-S31 no longer can be generated using LLVM because  numbering of registers to start from 256 and only D0-D31 are used.
So this change encode S0 as D0, S2 as D1, etc. Also use reg nums for DXX registers.
This change fix generation of CFI codes,
which trigger issue with generation of DWARF using LLVM in NativeAOT
See https://developer.arm.com/documentation/ihi0040/c/?lang=en#dwarf-register-names
See https://github.com/dotnet/runtimelab/issues/1388

2 years agoEnable System.Linq.Queryable and disable https://github.com/dotnet/runtime/issues...
Larry Ewing [Mon, 16 Aug 2021 18:49:20 +0000 (13:49 -0500)]
Enable System.Linq.Queryable and disable https://github.com/dotnet/runtime/issues/50712 (#57464)

2 years agoMark individual tests for 51211 (#57463)
Larry Ewing [Mon, 16 Aug 2021 18:43:18 +0000 (13:43 -0500)]
Mark individual tests for 51211 (#57463)

2 years agoFix Length for ReadOnlySequence created out of sliced Memory owned by MemoryManager...
Adam Sitnik [Mon, 16 Aug 2021 18:12:38 +0000 (20:12 +0200)]
Fix Length for ReadOnlySequence created out of sliced Memory owned by MemoryManager (#57479)

2 years agoAdd JsonConverter.Write/ReadAsPropertyName APIs (#57302)
Eirik Tsarpalis [Mon, 16 Aug 2021 16:46:06 +0000 (17:46 +0100)]
Add JsonConverter.Write/ReadAsPropertyName APIs (#57302)

* add JsonConverter.Write/ReadAsPropertyName APIs

* address feedback

2 years agoRemove workaround for dotnet/sdk#19482 (#57453)
Larry Ewing [Mon, 16 Aug 2021 14:31:54 +0000 (09:31 -0500)]
Remove workaround for dotnet/sdk#19482 (#57453)

2 years agoDo not drain HttpContentReadStream if the connection is disposed (#57287)
Anton Firszov [Mon, 16 Aug 2021 13:59:10 +0000 (15:59 +0200)]
Do not drain HttpContentReadStream if the connection is disposed (#57287)

Fixes #56159.

2 years ago[mono] Fix a few corner case overflow operations (#57407)
Vlad Brezae [Mon, 16 Aug 2021 13:34:10 +0000 (16:34 +0300)]
[mono] Fix a few corner case overflow operations (#57407)

* [interp] Fix a few overflow conversions

Comparison for overflow was incorrect because for example, (int8)-128.5 = -128, without overflows, even if -128.5 is smaller than the minimum integer. We use instead the float equality comparison between trunc (val) and (int)val.

* [mono][jit] Fix invalid uses of SHL instead of MUL optimization

mono_is_power_of_two is meant to be used only on unsigned numbers. In some cases we pass a signed value instead. This is typically not a problem because negative numbers are not detected as a power of two, except for the special number -2147483648, which is coded as 0x80000000, therefore a power of two.

* Enable tests

2 years agomake use of ports in SPN optional (#57159)
Tomas Weinfurt [Mon, 16 Aug 2021 10:16:07 +0000 (03:16 -0700)]
make use of ports in SPN optional (#57159)

* make port optional in SPN

* fix tests

* feedback from review

* Update src/libraries/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/AuthenticationHelper.NtAuth.cs

Co-authored-by: Stephen Toub <stoub@microsoft.com>
* fix build

Co-authored-by: Stephen Toub <stoub@microsoft.com>
2 years agoFixed H/3 stress server after the last Kestrel change (#57356)
Marie Píchová [Mon, 16 Aug 2021 09:02:17 +0000 (11:02 +0200)]
Fixed H/3 stress server after the last Kestrel change (#57356)

2 years agodisable a failing stress test. (#57473)
Sergey Andreenko [Mon, 16 Aug 2021 08:51:16 +0000 (01:51 -0700)]
disable a failing stress test. (#57473)

2 years agoEliminate temporary byte array allocations in the static constructor of `IPAddress...
Theodore Tsirpanis [Mon, 16 Aug 2021 04:34:59 +0000 (07:34 +0300)]
Eliminate temporary byte array allocations in the static constructor of `IPAddress`. (#57397)

2 years agoUpdate dependencies from https://github.com/dotnet/emsdk build 20210815.1 (#57447)
dotnet-maestro[bot] [Sun, 15 Aug 2021 21:17:00 +0000 (16:17 -0500)]
Update dependencies from https://github.com/dotnet/emsdk build 20210815.1 (#57447)

Microsoft.NET.Workload.Emscripten.Manifest-6.0.100
 From Version 6.0.0-rc.1.21409.2 -> To Version 6.0.0-rc.1.21415.1

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
2 years ago[main] Update dependencies from mono/linker (#57344)
dotnet-maestro[bot] [Sun, 15 Aug 2021 21:14:18 +0000 (16:14 -0500)]
[main] Update dependencies from mono/linker (#57344)

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

Microsoft.NET.ILLink.Tasks
 From Version 6.0.100-preview.6.21409.3 -> To Version 6.0.100-preview.6.21412.1

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

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

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Larry Ewing <lewing@microsoft.com>
2 years agoImprove serializer performance (#57327)
Steve Harter [Sun, 15 Aug 2021 20:30:47 +0000 (15:30 -0500)]
Improve serializer performance (#57327)

2 years ago[wasm] Don't use workload for tfm < net6.0 (#56606)
Ankit Jain [Sun, 15 Aug 2021 18:10:26 +0000 (14:10 -0400)]
[wasm] Don't use workload for tfm < net6.0 (#56606)

* Bump sdk used for testing to 6.0.100-rc.1.21402.6

* InstallWorkloadFromArtifacts: Add OnlyUpdateManifests parameter

* [wasm] Run Wasm.Build.Tests with sdk/no-workload/+EMSDK

Currently, Wasm.Build.Tests are run in two modes:

1. sdk(`$(SdkVersionForWorkloadTesting)`)+workload installed
2. sdk(from global.json)+EMSDK+LocalBuild targets

this commit changes (2) to:

2. sdk(`$(SdkVersionForWorkloadTesting)`), no workload installed, +
   EMSDK+LocalBuild targets

This makes it closer to what a user would actually use.

Also, for the workload tests, this removes `$(WasmNativeWorkload)`
always being set to `true`. The workload should be setting that, and not
the tests.

* Wasm.Build.Tests: Add test for net5.0 blazor projects

* Disable unrelated builds for now

* Revert "Disable unrelated builds for now"

This reverts commit 6fa0efe2ffcfdbcfaba3bdf519a7717809c22672.

* Rename OnlyWasmBuildTests -> TestWasmBuildTests

2 years agoSupport long module path (#57335)
Adam Sitnik [Sun, 15 Aug 2021 11:32:09 +0000 (13:32 +0200)]
Support long module path (#57335)

* Support long path

* while (true)

* Calculate new length based on array length

* Add a test

* use a smaller value to ensure that at least for DEBUG builds

we test the code path that rents a bigger array from ArrayPool

* add few extra asserts to the test to see why it fails in CI

* Assembly.LoadFile used the way this test is implemented fails on Mono

* don't run the test on Windows 7, for some reason it does not work

* Apply suggestions from code review

Co-authored-by: Stephen Toub <stoub@microsoft.com>
* handle truncated module names, simplify the implementation and dispose tmp modules before throwing exception

* make sure that when the module is not found by the test, the test runner prints available module paths

* Apply suggestions from code review

Co-authored-by: Stephen Toub <stoub@microsoft.com>
* polishing

Co-authored-by: NextTurn <45985406+NextTurn@users.noreply.github.com>
Co-authored-by: Stephen Toub <stoub@microsoft.com>
2 years agoUpdate source-index-stage1.yml (#57435)
Viktor Hofer [Sun, 15 Aug 2021 08:48:57 +0000 (10:48 +0200)]
Update source-index-stage1.yml (#57435)

Again apply https://github.com/dotnet/runtime/commit/c842beb5a94642e7ddd06e262c50f67e297ce986 as the fix was overridden in the latest Arcade update.

2 years agoFix `FileProviders.Physical.GetLastWriteTimeUtc` crash (#57415)
Maksym Koshovyi [Sun, 15 Aug 2021 00:57:36 +0000 (03:57 +0300)]
Fix `FileProviders.Physical.GetLastWriteTimeUtc` crash (#57415)

* Update PollingFileChangeToken.cs

* Return min date on fail

2 years ago[hot_reload] Allow the .ctor token to change for CustomAttribute updates (#57388)
Aleksey Kliger (λgeek) [Sat, 14 Aug 2021 23:46:48 +0000 (19:46 -0400)]
[hot_reload] Allow the .ctor token to change for CustomAttribute updates (#57388)

* [hot_reload] Allow the .ctor token to change for CustomAttribute updates.

If the "type" (really .ctor) token is a MemberRef, it won't be literally the
same token value in the update as in the baseline because Roslyn emits
additional MemberRef, TypeRef and AssemblyRef rows instead of trying to reuse
the baseline ones.

We could try to resolve the baseline and delta tokens and check that they map
to the same MonoMethod*, but that is problematic (it may trigger assembly
loading and class initialization) and also unnecessary - without the
ChangeCustomAttribute capability Roslyn will not allow edits that change the
constructor or its arguments.  So just drop the extra check.

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

* Add testcase

2 years agoILCompiler.Reflection.ReadyToRun has to target netstandard2.0 for ILSpy usage (#57416)
Andrew Au [Sat, 14 Aug 2021 22:52:27 +0000 (15:52 -0700)]
ILCompiler.Reflection.ReadyToRun has to target netstandard2.0 for ILSpy usage (#57416)

2 years agoIOException path (#57389)
Dan Moseley [Sat, 14 Aug 2021 22:25:26 +0000 (16:25 -0600)]
IOException path (#57389)

2 years ago[tests] Set the EventSourceSupport feature switch (#57374)
Radek Doulik [Sat, 14 Aug 2021 20:08:23 +0000 (22:08 +0200)]
[tests] Set the EventSourceSupport feature switch (#57374)

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

The `EventSource_ExistsWithCorrectId` test requires the event source
switch be set to true to work correctly after aggressive linking.

2 years ago[main] Update dependencies from dotnet/arcade dotnet/hotreload-utils dotnet/roslyn...
dotnet-maestro[bot] [Sat, 14 Aug 2021 18:26:10 +0000 (18:26 +0000)]
[main] Update dependencies from dotnet/arcade dotnet/hotreload-utils dotnet/roslyn-analyzers dotnet/msquic (#57402)

[main] Update dependencies from dotnet/arcade dotnet/hotreload-utils dotnet/roslyn-analyzers dotnet/msquic

2 years ago[main] Update dependencies from mono/linker (#57203)
dotnet-maestro[bot] [Sat, 14 Aug 2021 18:01:58 +0000 (13:01 -0500)]
[main] Update dependencies from mono/linker (#57203)

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

Microsoft.NET.ILLink.Tasks
 From Version 6.0.100-preview.6.21409.3 -> To Version 6.0.100-preview.6.21411.1

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

Microsoft.NET.ILLink.Tasks
 From Version 6.0.100-preview.6.21409.3 -> To Version 6.0.100-preview.6.21411.2

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

Microsoft.NET.ILLink.Tasks
 From Version 6.0.100-preview.6.21409.3 -> To Version 6.0.100-preview.6.21411.3

* Suppress trimmer warning

* Fix warning code value

* Fix netstandard build of libs

* Revert the code fix and just fix the XML suppression

* Revert project change

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: vitek-karas <vitek.karas@microsoft.com>
2 years ago[wasm] Make sure the TargetOS is capitalized (#54927)
Radek Doulik [Sat, 14 Aug 2021 12:15:56 +0000 (14:15 +0200)]
[wasm] Make sure the TargetOS is capitalized (#54927)

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

The $(TargetOS) is used in $(TargetFrameworks) and is case sensitive.
Make sure it is capitalized for Browser, so that build.cmd works when
used like:

    ./build.cmd -bl -os browser -subset libs

It fixes build errors like:

    C:\r\src\libraries\shims\manual\System.forwards.cs(8,88): error CS0234: The type or namespace name 'ZLibException' does not exist in the namespace 'System.IO.Compression' (are you missing an assembly reference?) [C:\r\src\libraries\shims\manual\System.csproj]
    C:\r\src\libraries\shims\manual\System.forwards.cs(9,77): error CS0234: The type or namespace name 'CookieVariant' does not exist in the namespace 'System.Net' (are you missing an assembly reference?) [C:\r\src\libraries\shims\manual\System.csproj]
    C:\r\src\libraries\shims\manual\System.forwards.cs(10,77): error CS0234: The type or namespace name 'PathList' does not exist in the namespace 'System.Net' (are you missing an assembly reference?) [C:\r\src\libraries\shims\manual\System.csproj]

2 years agoProperly account for padding in PUTARG_SPLIT with GT_FIELD_LIST (#57279)
Jakob Botsch Nielsen [Sat, 14 Aug 2021 09:10:06 +0000 (11:10 +0200)]
Properly account for padding in PUTARG_SPLIT with GT_FIELD_LIST (#57279)

We were writing the stack part to the outgoing stack area by a loop
incrementing the offset by the written size in each iteration. However,
it is possible due to padding and optimization that the written size is
smaller than the delta to the next field. Instead, use the offset of
each field minus the offset of the first stack field to find the offset
in the outgoing arg area.

Fix #57064

2 years agoHarvest signatures of methods being compiled by the token resolver (#57366)
Tomáš Rylek [Sat, 14 Aug 2021 07:50:40 +0000 (09:50 +0200)]
Harvest signatures of methods being compiled by the token resolver (#57366)

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

I believe this is the primary fix for the issue; when a type only
ever occurs in method signatures in an assembly, never in the
implementation IL, JIT never calls resolveToken for it and so it
doesn't make it to the module token resolver table.

My investigation revealed additional potential problems in the
product around exported type resolution and the IL linker;
I described them in the issue thread but I believe this to be
both the most appropriate and the safest primary fix.

Thanks

Tomas

2 years agoAvoid finalizer race in the SslStreamNetworkStreamTests cert creation (#57381)
Jeremy Barton [Sat, 14 Aug 2021 05:01:22 +0000 (22:01 -0700)]
Avoid finalizer race in the SslStreamNetworkStreamTests cert creation (#57381)

2 years ago[libraries] Update System.Runtime.Extensions tests for iOS,MacCatalyst,tvOS (#57210)
Mitchell Hwang [Sat, 14 Aug 2021 04:54:28 +0000 (00:54 -0400)]
[libraries] Update System.Runtime.Extensions tests for iOS,MacCatalyst,tvOS (#57210)

* [libraries] Update AppDomainTests for iOS,MacCatalyst,tvOS

* Update skip reasons

* Add MacCatalyst to Case Insensitive and remove ActiveIssues

* Replace ActiveIssue with ConditionalTheory based on RemoteExecutor

* Fix test for iOS/tvOS/Catalyst

* Skip UserName test on iOS tvOS

Co-authored-by: Mitchell Hwang <mitchell.hwang@microsoft.com>
Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
2 years agoFix thread pool completed work item counter to remove finalized nodes (#57305)
Koundinya Veluri [Sat, 14 Aug 2021 04:52:46 +0000 (21:52 -0700)]
Fix thread pool completed work item counter to remove finalized nodes (#57305)

* Fix thread pool completed work item counter to remove finalized nodes

- New nodes are being added to the set but finalized ones were not being removed
- This would result in double-counting the completed work item count for a thread that exits, and memory would grow over time

* Add a separate finalization helper for each node to track thread-local lifetimes

* Remove unnecessary IDisposable

* Fix nullability issues

* Update initialization of thread-local as suggested

Co-authored-by: Stephen Toub <stoub@microsoft.com>
Co-authored-by: Stephen Toub <stoub@microsoft.com>
2 years agoAdd UnsupportedOSPlatform to RC2.Create for Android (#57289)
Kevin Jones [Sat, 14 Aug 2021 04:51:34 +0000 (00:51 -0400)]
Add UnsupportedOSPlatform to RC2.Create for Android (#57289)

* Add UnsupportedOSPlatform to RC2.Create for Android

* Add missing resource

* Reuse existing resource string

* Code review feedback

2 years agoFix compile issue with escaped characters in logging generator message (#57379)
Maryam Ariyan [Sat, 14 Aug 2021 04:49:22 +0000 (00:49 -0400)]
Fix compile issue with escaped characters in logging generator message (#57379)

2 years agoIgnore IOException in PollingFileChangeToken (#57376)
David Cantú [Sat, 14 Aug 2021 03:02:07 +0000 (20:02 -0700)]
Ignore IOException in PollingFileChangeToken (#57376)

* Ignore IOException in PollingFileChangeToken

* Don't use local method since FileStatus is a struct

* errno needs to be saved before calling InvalidateCaches

2 years agoImprove AppendLiteral for short literals (#57217)
Stephen Toub [Sat, 14 Aug 2021 02:48:00 +0000 (22:48 -0400)]
Improve AppendLiteral for short literals (#57217)

* Improve AppendLiteral for short literals

DefaultInterpolatedStringHandler.AppendLiteral is special, in that the 99.9% use case is it's called as part of string interpolation by compiler-generated code where the argument is always a literal.  That means when the method is inlined, the JIT can specialize the implementation based on knowing the literal's Length is a constant.  Which means we can provide specialized implementations for common lengths, resulting in faster and smaller code.  This does so for strings of length 1 and 2, as they're quite common in code bases examined, and it does so for both the default handler and also the handler used to format into a span.

The exact same code as before gets generated by the JIT for literals of length > 2.  The main downside here is if someone does manually call this CompilerServices method with a variable, the call site will end up bloated with the special cases.

* Address PR feedback

* Disable some CodeDom tests on mono interpreter

2 years agoimul instruction size misprediction (#57179)
Kunal Pathak [Sat, 14 Aug 2021 00:54:23 +0000 (17:54 -0700)]
imul instruction size misprediction (#57179)

* Add assert

* Remove the assert in emitInsSizeCV

* Add a check for includeRexPrefixSize

* Remove the codeSize() capping code added to fix #12840

* Make immediate only 4bytes long for non-mov instructions

* Delete a commented code

2 years agoAdd Capture.ValueSpan (#57357)
Stephen Toub [Fri, 13 Aug 2021 22:58:55 +0000 (18:58 -0400)]
Add Capture.ValueSpan (#57357)

2 years agoFix Build Failures if there are no packages produced in the release branch (#57311)
Anirudh Agnihotry [Fri, 13 Aug 2021 22:28:03 +0000 (15:28 -0700)]
Fix Build Failures if there are no packages produced in the release branch (#57311)

* no packages

* Update eng/pipelines/libraries/build-job.yml

Co-authored-by: Santiago Fernandez Madero <safern@microsoft.com>
* change parameter name and add main condition to running of tests

* remove package testing condition as we no longer run package testing on helix

* Update eng/pipelines/libraries/build-job.yml

Co-authored-by: Santiago Fernandez Madero <safern@microsoft.com>
* Update upload-intermediate-artifacts-step.yml

Co-authored-by: Santiago Fernandez Madero <safern@microsoft.com>
2 years agoremove non -required package downloads and package reference (#57367)
Anirudh Agnihotry [Fri, 13 Aug 2021 22:27:39 +0000 (15:27 -0700)]
remove non -required package downloads and package reference (#57367)

2 years agofix no_progress attribute (#57377)
Kunal Pathak [Fri, 13 Aug 2021 21:42:20 +0000 (14:42 -0700)]
fix no_progress attribute (#57377)

2 years agoFix swapping evaluation order in assignments with CSE defs (#57364)
Jakob Botsch Nielsen [Fri, 13 Aug 2021 21:35:39 +0000 (23:35 +0200)]
Fix swapping evaluation order in assignments with CSE defs (#57364)

In some cases we were swapping the evaluation order of operands in
assignments when there were CSE defs in the subtrees. Change the logic
to properly forego the swapping in this situation.

Fix #57121

2 years agoAdd ILStrip task to trim method bodies (#57359)
Alexander Köplinger [Fri, 13 Aug 2021 21:21:34 +0000 (23:21 +0200)]
Add ILStrip task to trim method bodies (#57359)

This is used for iOS when assemblies are FullAOT compiled since the method body IL is unnecessary there.

2 years agoHandle early wakeup of counter loop (#57170)
John Salem [Fri, 13 Aug 2021 21:07:51 +0000 (14:07 -0700)]
Handle early wakeup of counter loop (#57170)

* Fix #56695
* prevent a negative delta value

* PR feedback + bug fix
* bug fix is preexisting: if a user other than the one who is listening sets the interval to 0 while the counter is enabled, it makes the counter continuously submit values. Changed this so that an interval value of <= 0 results in the counter being disabled

* Add assert after offline conversation

2 years ago[metadata] Generic params in covariant return checking is ok (#57298)
Aleksey Kliger (λgeek) [Fri, 13 Aug 2021 21:02:33 +0000 (17:02 -0400)]
[metadata] Generic params in covariant return checking is ok (#57298)

* [metadata] Generic params in covariant return checking is ok

The issue is that `mono_type_is_reference` does not look at whether a generic
parameter has a constraint that would make it a reference type (there is a big
comment near `mono_type_is_reference` that making it do so would break generic
sharing).

The issue is if you have something like:

```

class BaseClass {}

public class C {
       public virtual BaseClass SomeCovariantFunction() => ...
}

public class G<T> : C where T : BaseClass {
       public override T SomeCovariantFunction() => ...
}
```

Here when setting up `G<T>` we do a check that the override of
SomeCovariantFunction that returns T is a valid, which boils down to checking
that `T` is ok for a covariant return from `BaseClass`.  This is mostly the
same as `BaseClass` is-assignable-from `T`, except we also need to check that
`T` is not a valuetype that implements interface `BaseClass`.  That check was
wrong.  The fix is to check for `is_valuetype`, not `!is_reference` on `T`.

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

* fixup

2 years agoMark operands of non-RMW as delayFree (#57252)
Kunal Pathak [Fri, 13 Aug 2021 19:08:12 +0000 (12:08 -0700)]
Mark operands of non-RMW as delayFree  (#57252)

* For non-RMW intrinsics, always delayfree the operands

* Add test case

* Update test case to add Avx2.IsSupported

2 years agoFix invoking of `FileSystemWatcher` (#53151)
James Thomson [Fri, 13 Aug 2021 18:20:56 +0000 (19:20 +0100)]
Fix invoking of `FileSystemWatcher` (#53151)

Call `protected` `On...` event raising methods from `Notify...` methods,
to invoke `SynchronizingObject` when required.

Fix #52644

2 years agoimprove SNI handling when IP is passed in as DnsEndPoint to QuicListener (#57255)
Tomas Weinfurt [Fri, 13 Aug 2021 17:54:56 +0000 (10:54 -0700)]
improve SNI handling when IP is passed in as DnsEndPoint to QuicListener (#57255)

2 years ago[libraries] Skip FormKC and FormKD on iOS, tvOS, and MacCatalyst (#57317)
Mitchell Hwang [Fri, 13 Aug 2021 17:32:33 +0000 (13:32 -0400)]
[libraries] Skip FormKC and FormKD on iOS, tvOS, and MacCatalyst (#57317)

* [libraries] Skip FormKC and FormKD on iOS, tvOS, and MacCatalyst

* Remove associated ActiveIssue

Co-authored-by: Mitchell Hwang <mitchell.hwang@microsoft.com>
2 years ago[mono][interp] Fixes for compilation of huge methods (#57346)
Vlad Brezae [Fri, 13 Aug 2021 16:12:01 +0000 (19:12 +0300)]
[mono][interp] Fixes for compilation of huge methods (#57346)

* [interp] Disable inlining if interpreter var limit is excedeed

Currently, the interpreter has a 64k limit for the stack space to be used by vars. If we reach this limit, retry compilation with inlining disabled, since inlining can increase significantly the method code.

* [interp] Improve cprop speed by removing redundant memclear

Instead of clearing the defs for all vars, clear only for the vars used within a basic block, as the jit does. Otherwise, for large methods with many locals and many bblocks, we end up spending most of the time clearing memory. Improves speed of cprop by 20-30%, while for huge methods it can improve it by orders of magnitude.

2 years agoHttpStress: Optimize LogHttpEventListener (#56983)
Anton Firszov [Fri, 13 Aug 2021 15:40:16 +0000 (17:40 +0200)]
HttpStress: Optimize LogHttpEventListener (#56983)

Eliminate autoflush, blocking calls and Task allocations in LogHttpEventListener, which can go expensive, when logging several thousands of lines per sec.

2 years ago[wasm] Disable native stripping for wasm samples. (#57316)
Zoltan Varga [Fri, 13 Aug 2021 15:36:14 +0000 (11:36 -0400)]
[wasm] Disable native stripping for wasm samples. (#57316)

2 years agoWinHttp: Remove [SupportedOSPlatformAttribute] with specific Windows version (#57340)
Anton Firszov [Fri, 13 Aug 2021 14:25:35 +0000 (16:25 +0200)]
WinHttp: Remove [SupportedOSPlatformAttribute] with specific Windows version (#57340)

2 years agoZero upper 4 bytes of the second operand of Vector3.Dot() in LowerHWIntrinsicDot...
Egor Chesakov [Fri, 13 Aug 2021 13:48:57 +0000 (06:48 -0700)]
Zero upper 4 bytes of the second operand of Vector3.Dot() in LowerHWIntrinsicDot() on Arm64 (#57328)

2 years agoQuic Abort after Dispose is no-op (#57318)
Natalia Kondratyeva [Fri, 13 Aug 2021 12:19:46 +0000 (14:19 +0200)]
Quic Abort after Dispose is no-op (#57318)

Allow calling Abort(Read|Write) after disposing. The only safe option to do so is to make them no-op in that case.

Fixes #56683

2 years agoAdd missing WindowsDesktop libraries (#57339)
Viktor Hofer [Fri, 13 Aug 2021 10:26:50 +0000 (12:26 +0200)]
Add missing WindowsDesktop libraries (#57339)

These two libraries are exposed in WindowsDesktop's shared framework but are missing from the transport package.

2 years agoAdd support for function pointers in ilverify (#57163)
Adeel Mujahid [Fri, 13 Aug 2021 10:24:30 +0000 (13:24 +0300)]
Add support for function pointers in ilverify (#57163)

* Provide logic verifying access to function pointer.

Extend AccessVerificationHelpers.CanAccess method so that it is
able to handle FunctionPointerType by making sure that a current class
can access all the types returned or accepted by the method pointed
by the given function pointer.

Fix #43502

* Add support for function pointers in ilverify importer

* Add ilverify tests for function pointers

* Trim trailing whitespace

* Use public surface of FunctionPointerType

* Check both return type and arguments of signature

* Delete CanAccessMethodSignature and simplify

* Add a test case for inaccessible return type

2 years agoAdd Quic back to aspnetcore transport pack (#57338)
Viktor Hofer [Fri, 13 Aug 2021 10:19:27 +0000 (12:19 +0200)]
Add Quic back to aspnetcore transport pack (#57338)

Also make sure that the documentation file is placed next to the
reference assembly if such is included as part of a ProjectReference.

Also move the IsAspNetCore property into packaging.targets as it's not
needed by the binplacing system anymore.

2 years ago[main] Update dependencies from dnceng/internal/dotnet-optimization dotnet/arcade...
dotnet-maestro[bot] [Fri, 13 Aug 2021 10:17:29 +0000 (12:17 +0200)]
[main] Update dependencies from dnceng/internal/dotnet-optimization dotnet/arcade dotnet/runtime-assets dotnet/hotreload-utils (#57278)

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

optimization.linux-x64.MIBC.Runtime , optimization.windows_nt-x64.MIBC.Runtime , optimization.windows_nt-x86.MIBC.Runtime , optimization.PGO.CoreCLR
 From Version 1.0.0-prerelease.21410.2 -> To Version 1.0.0-prerelease.21411.3

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

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.21406.6 -> To Version 6.0.0-beta.21410.8

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

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.21405.1 -> To Version 6.0.0-beta.21411.3

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

Microsoft.DotNet.HotReload.Utils.Generator.BuildTool
 From Version 1.0.2-alpha.0.21404.1 -> To Version 1.0.2-alpha.0.21411.1

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Juan Hoyos <juan.hoyos@microsoft.com>
Co-authored-by: Viktor Hofer <viktor.hofer@microsoft.com>
2 years agoupdated msquic bits (#57285)
Marie Píchová [Fri, 13 Aug 2021 08:29:18 +0000 (10:29 +0200)]
updated msquic bits (#57285)

2 years agoThrow NotSupportedException when serializing Date/TimeOnly types (#57273)
Eirik Tsarpalis [Fri, 13 Aug 2021 08:19:42 +0000 (11:19 +0300)]
Throw NotSupportedException when serializing Date/TimeOnly types (#57273)

* throw NotSupportedException when serializing Date/TimeOnly types

* address feedback

2 years agoFix source indexer failing official builds (#57336)
Viktor Hofer [Fri, 13 Aug 2021 08:19:31 +0000 (10:19 +0200)]
Fix source indexer failing official builds (#57336)

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

2 years agoCreate WindowsDesktop transport package (#57314)
Viktor Hofer [Fri, 13 Aug 2021 06:17:36 +0000 (08:17 +0200)]
Create WindowsDesktop transport package (#57314)

As we don't include reference assemblies in our packages anymore, we
need a transport package for WindowsDesktop which contains the necessary
reference assemblies. Using the same layout as aspnetcore's package
which worked well in the past.

2 years agofix IncompleteReadCantSetPositionBeyondEndOfFile test (#57271)
Adam Sitnik [Fri, 13 Aug 2021 05:47:41 +0000 (07:47 +0200)]
fix IncompleteReadCantSetPositionBeyondEndOfFile test (#57271)

* use ten unique arrays, not the same array 10 times (this should fix the test failure)

* don't run this test for the old FileStream implementation

2 years agoExpression.Default and Expression.New with structs with parameterless constructors...
Charles Stoner [Fri, 13 Aug 2021 04:23:39 +0000 (21:23 -0700)]
Expression.Default and Expression.New with structs with parameterless constructors (#57034)

2 years agoAdd triple slash comments for new System.Drawing API added in 6.0 (#57313)
Santiago Fernandez Madero [Fri, 13 Aug 2021 01:35:49 +0000 (18:35 -0700)]
Add triple slash comments for new System.Drawing API added in 6.0 (#57313)

* Add triple slash comments for new System.Drawing API added in 6.0

Co-authored-by: Genevieve Warren <24882762+gewarren@users.noreply.github.com>
2 years agoDisable System.Drawing.Common tests for mobile workloads and skip a few other tests...
Steve Pfister [Fri, 13 Aug 2021 00:44:35 +0000 (20:44 -0400)]
Disable System.Drawing.Common tests for mobile workloads and skip a few other tests (#57114)

Since the library is PNSE by default, make sure the tests do not run on mobile.
Also skips a few other tests.

Closes #57184

2 years ago[mini] Add GC Unsafe transitions in mono_pmip (#57290)
monojenkins [Fri, 13 Aug 2021 00:30:09 +0000 (20:30 -0400)]
[mini] Add GC Unsafe transitions in mono_pmip (#57290)

Add a new mono_pmip_u that doesn't do the transition.

The intent is that Mono developers in the debugger can call still call
mono_pmip_u if the thread state machine is in a broken state.

Co-authored-by: lambdageek <lambdageek@users.noreply.github.com>
2 years agoMore xml docs (#57039)
Dan Moseley [Thu, 12 Aug 2021 23:49:53 +0000 (17:49 -0600)]
More xml docs (#57039)

* Update Handle docs

* Some easy xmldoc updates

* typo

* typo

* another

* Build breaks with M.IO.R.csproj

* updates

2 years agoTurn on disabled tracing tests (#56507)
John Salem [Thu, 12 Aug 2021 22:16:12 +0000 (15:16 -0700)]
Turn on disabled tracing tests (#56507)