Adam Sitnik [Wed, 5 Aug 2020 11:47:50 +0000 (13:47 +0200)]
Rename MinimumOSPlatformAttribute and RemovedInOSPlatformAttribute (#40371)
* rename attributes:
* MinimumOSPlatformAttribute -> SupportedOSPlatformAttribute
* RemovedInOSPlatformAttribute -> UnsupportedOSPlatformAttribute
* update src and ref files
* update .targets file
* update comment ;)
Anton Firszov [Wed, 5 Aug 2020 11:32:28 +0000 (13:32 +0200)]
Unix: throw PNSE from BeginAccept/EndAccept that attempts to receive a buffer (#40292)
Resolve #32633
- BeginAccept/EndAccept overloads which are attempting to also receive a buffer are currently only supported on Windows, therefore PNSE is thrown on Unix
- When the operation is supported, the returned buffer is never null, therefore the out byte[] buffer parameters are altered to be non-nullable
Michal Strehovský [Wed, 5 Aug 2020 10:59:48 +0000 (12:59 +0200)]
Do not trim generic interfaces implemented by arrays (#40260)
Logic within the CoreCLR VM depends on the order of methods on these interfaces to find methods on SZArrayHelper.
SZArrayHelper is already rooted from MscorlibBinder, but the interface methods are referenced only implicitly through their slots and need a dedicated entry.
Viktor Hofer [Wed, 5 Aug 2020 07:40:55 +0000 (09:40 +0200)]
Fix corerun binplacing in testhost (#40341)
Fixes https://github.com/dotnet/runtime/issues/40215
dotnet-maestro[bot] [Wed, 5 Aug 2020 05:08:27 +0000 (05:08 +0000)]
[master] Update dependencies from dotnet/icu dotnet/llvm-project mono/linker (#40268)
[master] Update dependencies from dotnet/icu dotnet/llvm-project mono/linker
- Updates:
- Microsoft.NET.ILLink.Tasks: from 5.0.0-preview.3.20378.1 to 5.0.0-preview.3.20403.5
- Updates:
- Microsoft.NETCore.Runtime.ICU.Transport: from 5.0.0-preview.8.20378.2 to 5.0.0-preview.8.20403.1
- Updates:
- runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools: from 9.0.1-alpha.1.20365.1 to 9.0.1-alpha.1.20403.1
- runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools: from 9.0.1-alpha.1.20365.1 to 9.0.1-alpha.1.20403.1
- runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk: from 9.0.1-alpha.1.20365.1 to 9.0.1-alpha.1.20403.1
- runtime.osx.10.12-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools: from 9.0.1-alpha.1.20365.1 to 9.0.1-alpha.1.20403.1
- runtime.osx.10.12-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk: from 9.0.1-alpha.1.20365.1 to 9.0.1-alpha.1.20403.1
- runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools: from 9.0.1-alpha.1.20365.1 to 9.0.1-alpha.1.20403.1
- runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk: from 9.0.1-alpha.1.20365.1 to 9.0.1-alpha.1.20403.1
- runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk: from 9.0.1-alpha.1.20365.1 to 9.0.1-alpha.1.20403.1
- Fix linker tests by fixing some warnings, and suppressing reflection warnings during the linker tests.
- Merge remote-tracking branch 'upstream/master' into UpdateLinker
- Suppress IL2008;IL2009 on non-Windows linker tests.
- Suppress more linker warnings on non-Windows.
- Suppress more linker warnings
Kevin Jones [Wed, 5 Aug 2020 05:01:13 +0000 (01:01 -0400)]
Clean up more byte packing/unpacking. (#40334)
Sergey Andreenko [Wed, 5 Aug 2020 04:02:17 +0000 (21:02 -0700)]
Remove potential NULLCHECK creation after LIR on arm32. (#40349)
* Use `TransformUnusedIndirection` in LIR liveness.
* Use `TYP_INT` as `TransformUnusedIndirection` does.
* fix grammar.
Larry Ewing [Wed, 5 Aug 2020 03:58:54 +0000 (22:58 -0500)]
Add runtime feature checks for 5.0 browser (#40347)
Eric Erhardt [Wed, 5 Aug 2020 02:13:21 +0000 (21:13 -0500)]
Annotate Extensions.Options to make it linker friendly (#40294)
* Annotate Extensions.Options to make it linker friendly
Fix #40236
Marek Safar [Wed, 5 Aug 2020 02:00:13 +0000 (04:00 +0200)]
Add Browser specific PersistedFiles implementation (#39350)
* Add Browser specific PersistedFiles implementation
Simplified the implementation removes dependency on several native calls
which all return only default values.
Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
Maryam Ariyan [Wed, 5 Aug 2020 00:25:03 +0000 (17:25 -0700)]
Add LoggerColorBehavior (#40221)
Zoltan Varga [Tue, 4 Aug 2020 22:18:21 +0000 (18:18 -0400)]
[wasm] Make mono_wasm_get_obj_type () GC safe by doing all object access before calling into the runtime. (#40312)
Part of the fix for https://github.com/dotnet/runtime/issues/40132.
Koundinya Veluri [Tue, 4 Aug 2020 22:02:35 +0000 (18:02 -0400)]
Don't suspend for debugger while holding the slot backpatching lock (#40060)
- Mostly reverted the previous workaround for the issue (commit
fc06054a774e28a5a47bbe862adcf03251abb43c)
- Added a forbid-suspend-for-debugger region in preemptive GC mode
- Added a crst holder type that acquires a lock and enters the forbid region
- Where the slot backpatching lock would be taken where cooperative GC mode may be entered inside that lock, the new crst holder is used
- When a suspend for debugger is requested, a thread in preemptive GC mode that is in the forbid region is considered not yet suspended and is synched later similarly to threads in cooperative GC mode
Fixes https://github.com/dotnet/runtime/issues/37278
Alexander Köplinger [Tue, 4 Aug 2020 20:25:58 +0000 (22:25 +0200)]
Mono: Ensure tasklets are removed in netcore build (#40324)
Tasklets were an old mono-specific extension for continuations that is no longer relevant.
Santiago Fernandez Madero [Tue, 4 Aug 2020 19:59:46 +0000 (12:59 -0700)]
Make macOS targets in global build job template default to 120 minutes timeout (#40330)
Alexander Köplinger [Tue, 4 Aug 2020 19:48:16 +0000 (21:48 +0200)]
Fix warning in debugger-agent.c (#40325)
```
CC libmono_dbg_la-debugger-agent.lo
/Users/runner/work/1/s/src/mono/mono/mini/debugger-agent.c:1088:9: warning: unused variable 'argv' [-Wunused-variable]
char *argv [ ] = {
```
Bruno Garcia [Tue, 4 Aug 2020 19:44:28 +0000 (15:44 -0400)]
fix typo: fuitful -> fruitful (#40333)
Sung Yoon Whang [Tue, 4 Aug 2020 19:17:16 +0000 (12:17 -0700)]
Add more runtime GC counters (#38851)
* Add more GC counters
* Cleanup
* Change size of last GC stats arrays from total_generation_count to max_generation
* add asserts and fix error
* fix typo
* Fix Windows build
* Remove pause time / time between GC counters as discussed in design PR
* revert changes to GC for unused counters
* more unnecessary changes
* build fix
* last bit of undoing changes
* CR feedback
Layomi Akinrinade [Tue, 4 Aug 2020 18:43:24 +0000 (11:43 -0700)]
Add step to run linker on entire runtime pack during libraries build (#40172)
* Add step to run linker on entire runtime pack during libraries build
* Address feedback
* Only run for NetCoreAppCurrent
* Include appropriate S.P.CoreLib
* Address review feedback
* Add common property group for shared linker args; remove unneeded changes from PR
* Rename illink-sharedframeworks.targets to illink-sharedframework.targets
* Address review feedback
Jeremy Koritzinsky [Tue, 4 Aug 2020 18:04:05 +0000 (11:04 -0700)]
Minimum CMake downgrade for Linux (#39044)
Co-authored-by: Santiago Fernandez Madero <safern@microsoft.com>
Co-authored-by: Jan Vorlicek <janvorli@microsoft.com>
Tomas Weinfurt [Tue, 4 Aug 2020 17:28:04 +0000 (10:28 -0700)]
cleanup schannel pal (#39755)
* cleanup schannel pal
* fix netfx
Larry Ewing [Tue, 4 Aug 2020 17:09:27 +0000 (12:09 -0500)]
Fix logger output. (#40291)
Zoltan Varga [Tue, 4 Aug 2020 17:06:36 +0000 (13:06 -0400)]
[runtime] Handle null byref returns in runtime invokes. (#40071)
* [runtime] Handle null byref returns in runtime invokes.
Fixes https://github.com/dotnet/runtime/issues/39380.
* Reenable fixed test
Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
Larry Ewing [Tue, 4 Aug 2020 16:50:39 +0000 (11:50 -0500)]
Normalize array magic numbers and remove switch (#40279)
Kenneth Pouncey [Tue, 4 Aug 2020 14:57:14 +0000 (16:57 +0200)]
[browser][io] Workaround for issue MoveDirectory (#40310)
* [browser][io] Workaround for issue MoveDirectory
- Issue workaround while waiting for emscripten fix. https://github.com/dotnet/runtime/issues/40305
- The following code checks for the existence of the source and destination directories which replaces the same code in the emscripten code.
emscripten tracking issue: https://github.com/emscripten-core/emscripten/issues/11804
* Update src/libraries/System.IO.FileSystem/src/System/IO/FileSystem.Unix.cs
Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
Stephen Toub [Tue, 4 Aug 2020 14:31:40 +0000 (10:31 -0400)]
Fix hang in HTTP/2 handling of canceling credit waits (#40243)
* Re-combine CreditWaiter and CancelableCreditWaiter
The split was to optimize the case when there's no cancellation token, but based on the evolution of the codebase, that doesn't really happen, and it makes the common cancellation case a bit more expensive (and convoluted).
* Fix hang in HTTP/2 handling of canceling credit
The CreditWaiter took a lock to protect its ManualResetValueTaskSourceCore state. The lock was also shared with its parent. This could result in a situation where the parent was holding the lock and called into the CreditWaiter to dispose of it and in turn dispose of the registration with the CancellationToken. That registration could have represented an in-flight cancellation callback, which would also try to take the lock in order to complete the MRVTSC. And since CancellationTokenRegistration.Dispose blocks waiting for an in-flight cancellation callback to complete, this could deadlock, with a thread holding the lock while waiting for another thread that tries to take the lock to make forward progress.
This fixes it simply by avoiding the lock entirely and instead using a simple compare-exchange to protect the right to complete the MRVTSC.
* Address PR feedback
Alexander Nikolaev [Tue, 4 Aug 2020 14:12:11 +0000 (16:12 +0200)]
Xml docs for SocketsHttpHandler's IsSupported and EnableMultipleHttp2Connections (#40308)
Fixes #39489
Jan Kotas [Tue, 4 Aug 2020 13:42:19 +0000 (06:42 -0700)]
Cleanup EventSource (#40204)
* Move StubEnvironment.cs to Microsoft.Diagnostics.Tracing.EventSource.Redist
* Delete ES_BUILD_PCL and ES_BUILD_AGAINST_DOTNET_V35
Alexander Köplinger [Tue, 4 Aug 2020 13:40:00 +0000 (15:40 +0200)]
Bump timeout in global-build.yml for debug runtime builds (#40309)
A good build of the `runtime-live-build` pipeline takes between 45-55mins for the debug runtime configurations already so we sometimes run into the 60mins default Azure DevOps timeout if we happen to catch a slow machine.
Bumping the timeout to 120mins like we do in other pipelines to fix this.
Austin Wise [Tue, 4 Aug 2020 11:08:56 +0000 (04:08 -0700)]
Reduce binary size by moving data definitions out of headers. (#40254)
Marie Píchová [Tue, 4 Aug 2020 10:51:04 +0000 (12:51 +0200)]
Increased timeouts, fixed indentation. (#40273)
Steve Pfister [Tue, 4 Aug 2020 09:44:58 +0000 (05:44 -0400)]
[Wasm] Enable System.Data.Common tests (#39463)
Disable the tests that require SQL Server.
Co-authored-by: Steve Pfister <steve.pfister@microsoft.com>
Co-authored-by: Maxim Lipnin <v-maxlip@microsoft.com>
Alexander Köplinger [Tue, 4 Aug 2020 09:39:15 +0000 (11:39 +0200)]
WASM: Pump timer queue in xharness when running unit tests (#40278)
* WASM: Pump timer queue in xharness when running unit tests
We only pumped the threadpool but we didn't pump the timer queue inside the xharness runner, so in the case of Task.Delay() it'll schedule a callback on the timer queue and that will never happen which leads to the infinite loop waiting for the test to finish.
To fix that we call an internal method to pump the timer queue like we do for the threadpool.
Requires an xharness bump to include https://github.com/dotnet/xharness/pull/290
Fixes https://github.com/dotnet/runtime/issues/38931
* Don't nullref if no timers were started
Maxim Lipnin [Tue, 4 Aug 2020 08:01:22 +0000 (11:01 +0300)]
[wasm] Modify System.Net.Request to throw PNSE on Browser WASM (#40274)
* [wasm] Modify System.Net.Request to throw PNSE on Browser WASM
* [wasm] Re-enable System.ComponentModel.EventBasedAsync.Tests.BackgroundWorkerTests.TestFinalization test
* Make the CS0809 build warning depend on if PNSE assembly is going to be generated
* Update src/libraries/System.Net.Requests/src/System.Net.Requests.csproj
Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
* Remove redundant condition
Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
Geoff Kizer [Tue, 4 Aug 2020 04:44:37 +0000 (21:44 -0700)]
improve exception message when HTTP2 connection establishment fails (#40251)
Co-authored-by: Geoffrey Kizer <geoffrek@windows.microsoft.com>
Koundinya Veluri [Tue, 4 Aug 2020 04:17:46 +0000 (00:17 -0400)]
Change new thread's affinity after thread starts, from the same thread, as a workaround for Snap (#40205)
- Snap's default strict confinement doesn't allow setting the affinity of a different thread, and currently doesn't allow `sched_setaffinity(<nonzeroPid>, ...)`, which pthread implementation calls
- Switched to use sched_setaffinity(0, ...) where appropriate
Fix for https://github.com/dotnet/runtime/issues/1634 in master
Fan Yang [Tue, 4 Aug 2020 02:11:55 +0000 (22:11 -0400)]
Check if a method is dynamic when transforming internal calls (#40266)
Jan Vorlicek [Tue, 4 Aug 2020 02:10:23 +0000 (04:10 +0200)]
Fix Windows coreclr.dll size regression (#40282)
* Fix Windows coreclr.dll size regression
A recent change has replaced usage of SELECTANY by constexpr to
significantly reduce size of coreclr binaries on Unix. But it has
resulted in about 180kB regression in coreclr.dll size on Windows.
This change gets rid of the constexpr at places that can be reasonably
moved to having declaration in header and definition in a .cpp file.
I've also found a couple of things that are not used anymore, so I have
deleted them.
The only thing where I've moved back to using SELECTANY on Windows is
the DbgIPCEventTypeNames in dbgipcevents.h. That table and the related
GetEventType / GetEventName methods are used in both mscordbi and
coreclr and sharing a .cpp source with the data between those two
libraries was ugly and problematic.
* Fix x86 build
* Fix clang format
* Reflect PR feedback
defined(_MSC_VER)
Santiago Fernandez Madero [Mon, 3 Aug 2020 23:54:10 +0000 (16:54 -0700)]
Fix attribute differences in between refs and implementations (#40185)
* Fix attribute differences in between refs and implementations
* Update APICompat version and address feedback
* Fix builds
* PR Feedback, include attributes for all tfms in S.T.Json ref
SUN Guoyun [Mon, 3 Aug 2020 23:11:05 +0000 (07:11 +0800)]
Use Environment.SystemPageSize to set desireBufferSize (#40247)
PAGE_SIZE is not all 4096 for all architecture, so we can get it by Environment.SystemPageSize
Co-authored-by: Sunguoyun <sunguoyun@loongson.cn>
Aaron Robinson [Mon, 3 Aug 2020 22:30:09 +0000 (15:30 -0700)]
Don't rely on the built-in interface marshaller during COM activation. (#40228)
* Don't rely on the built-in marshaller during activation.
Relying on the built-in marshaller leverages the Class interface approach
which doesn't work for some interface types (e.g. interfaces inheriting
from IDispatch).
This approach is wrong regardless of why given that COM dictates the
returned value must be properly cast the specific interface vtable.
Eugene Rozenfeld [Mon, 3 Aug 2020 21:59:27 +0000 (14:59 -0700)]
Don't remove dead indirections that may throw. (#40226)
Liveness incorrectly removed indirection rhs's of dead assignments.
This change fixes that.
Fixes #39823.
Jeremy Barton [Mon, 3 Aug 2020 21:26:55 +0000 (14:26 -0700)]
Improve default ciphersuites on Linux
The ciphersuites are now server-order preferenced, which matches Windows and macOS.
The ciphersuite list is:
* Anything provided via the CipherSuitePolicy, otherwise
* Anything provided via config (OPENSSL_CONF or default)
* An opinionated default
The opinionated default currently contains one TLS 1.0/1.1 ciphersuite for each of an RSA or ECDSA server certificate,
due to complexities in the current tests with not expecting "there are no valid ciphersuites enabled" errors with asking
for those lower protocol versions explicitly. With TLS 1.0/1.1 still enabled by default the server config does not get an "A"
from SslLabs out of the box; followup work will increase test robustness and remove that fallback.
Tarek Mahmoud Sayed [Mon, 3 Aug 2020 21:03:42 +0000 (14:03 -0700)]
Add ActivityContext parsing APIs (#40183)
* Add ActivityContext parsing APIs
* Address the feedback
Tomas Weinfurt [Mon, 3 Aug 2020 20:08:46 +0000 (13:08 -0700)]
fix regression in ChannelBinding/NTLM auth (#40222)
* fix regression in ChannelBinding/NTLM auth
* fix index
Eric Erhardt [Mon, 3 Aug 2020 20:08:04 +0000 (15:08 -0500)]
Fix the trimming tests to link non-app assemblies correctly. (#40246)
The PrepareForILLink target will pass any ManagedAssemblyToLink that isn't marked as IsTrimmable=true to a TrimmerRootAssembly. This will cause the assembly to be passed to the linker with `-a`, which means the asesmbly won't be fully trimmed. So any assembly outside of the runtimepack will be passed with -a (for example Microsoft.Extensions.*).
Fix this by moving to BeforeTargets=PrepareForILLink and marking the single application assembly as a root.
David Wrighton [Mon, 3 Aug 2020 20:03:23 +0000 (13:03 -0700)]
Type verification in tests (#40186)
- Enable type layout verification in crossgen2 test passes
Product bugs found/fixed
- Fix type blittability issue found during enabling this test.
- HFA encoding was not correct for Arm64, and did not have R2R defined constants
- Fix type layout verification infrastructure issues
- Do not generate type layout checks or verification if the offset is 24 bits or larger
- Only load approx enclosing type when verifying, instead of enclosing type (this avoids asserts)
Anirudh Agnihotry [Mon, 3 Aug 2020 19:46:34 +0000 (12:46 -0700)]
Generating the verison and other macros on the fly (#39670)
* generating the header on the fly
* add feedback from other pr
* simplify includePath
* address feedbacl
* simplify the includePath code
Maryam Ariyan [Mon, 3 Aug 2020 17:54:37 +0000 (10:54 -0700)]
Allow increased log level filtering for event source logger (#40165)
Tomas Weinfurt [Mon, 3 Aug 2020 17:26:34 +0000 (10:26 -0700)]
fix ReceiveMessageFromPacketInfo in DualMode ReceiveMessageFromAsync (#39249)
* add test
* fix dual mode on windows
* fix linux
* Update src/libraries/System.Net.Sockets/src/System/Net/Sockets/SocketAsyncEventArgs.Windows.cs
Alexander Nikolaev [Mon, 3 Aug 2020 16:28:48 +0000 (18:28 +0200)]
IsSupported reports SocketsHttpHandler availability on different platforms (#40271)
Fixes #39489
Eirik Tsarpalis [Mon, 3 Aug 2020 16:24:09 +0000 (17:24 +0100)]
Fix nullable annotations for ImmutableArray cast methods (#40084)
* Fix nullable annotations for ImmutableArray cast methods,
Fixes #39799
* address feedback
Alexander Köplinger [Mon, 3 Aug 2020 14:05:00 +0000 (16:05 +0200)]
Fix ICU_CFLAGS in mono configure.ac (#40263)
We need to set these defines so we don't use obsolete ICU functions and cause warnings, just like we do in the CMakeLists.txt version..
dotnet-maestro[bot] [Mon, 3 Aug 2020 12:00:09 +0000 (12:00 +0000)]
Update dependencies from https://github.com/dotnet/xharness build
20200802.1 (#40256)
[master] Update dependencies from dotnet/xharness
- Updates:
- Microsoft.DotNet.XHarness.CLI: from 1.0.0-prerelease.20380.2 to 1.0.0-prerelease.20402.1
- Microsoft.DotNet.XHarness.TestRunners.Xunit: from 1.0.0-prerelease.20380.2 to 1.0.0-prerelease.20402.1
Maxim Lipnin [Mon, 3 Aug 2020 11:52:12 +0000 (14:52 +0300)]
[wasm] Re-enable some Microsoft.Extensions.Logging.Tests tests on browser-wasm. (#40255)
Marie Píchová [Mon, 3 Aug 2020 11:11:52 +0000 (13:11 +0200)]
HTTP agnostic loopback server. (#40144)
Edward Kazuya Carlson [Sun, 2 Aug 2020 18:04:56 +0000 (11:04 -0700)]
Added variable number for tracking (#39861)
Eric Erhardt [Sun, 2 Aug 2020 18:01:19 +0000 (13:01 -0500)]
Annotate DependencyInjection to make it linker friendly (#40227)
* Annotate DependencyInjection to make it linker friendly
Fix #39745
Eric Erhardt [Sun, 2 Aug 2020 18:00:21 +0000 (13:00 -0500)]
Fix ILLink warnings for removed attributes when Debugger.IsSupported is false (#40048)
When Debugger.IsSupported feature switch is false, we trim unnecessary attributes in the code - specifically attributes like CompilerGeneratedAttribute and StackTraceHiddenAttribute. However, we still have code accessing these attributes, which causes the ILLinker to warn that it is removing the attributes, but code still uses them.
To fix this, remove these attributes from being trimmed when Debugger.IsSupported is false. Instead these attributes will be preserved always so things like "is anonymous type" checks and stack trace tostring will behave correctly.
Fix #39707
Adeel Mujahid [Sun, 2 Aug 2020 17:45:52 +0000 (20:45 +0300)]
Remove netstandard packaging infra (#40239)
Alexander Köplinger [Sun, 2 Aug 2020 16:13:00 +0000 (18:13 +0200)]
Reenable ExceptionDispatchInfo.SetCurrentStackTrace test on WASM (#40241)
It was fixed by https://github.com/dotnet/runtime/pull/40031.
monojenkins [Sun, 2 Aug 2020 13:43:05 +0000 (09:43 -0400)]
[runtime] Add a configure workaround for apple silicon + older config… (#40184)
….guess versions.
<!--
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>
Joni [Sun, 2 Aug 2020 13:09:35 +0000 (22:09 +0900)]
Fix typo in comment in StringBuilderCache.cs (#40238)
Larry Ewing [Sun, 2 Aug 2020 08:07:16 +0000 (03:07 -0500)]
[browser] Remove ActiveIssue from BinaryPrimitives_StaticWithSpanArgument (#40235)
Brian Sullivan [Sat, 1 Aug 2020 19:58:08 +0000 (12:58 -0700)]
Fix for unsafe CSE of Structs (#40164)
* Fix for unsafe CSE of Structs
- Assign a unique value number when reading a struct field as we don't know the size of the read
- Modify the Jit Dump for CSE
- No Asm diffs in the Frameworks
- Added new test Runtime_38920.cs
* Change tabs to spaces
Adeel Mujahid [Sat, 1 Aug 2020 14:59:07 +0000 (17:59 +0300)]
Remove Format wrappers around interpolated strings (#40231)
Alexander Nikolaev [Sat, 1 Aug 2020 09:55:37 +0000 (11:55 +0200)]
Increase Http2_MultipleConnectionsEnabled_IdleConnectionTimeoutExpired_ConnectionRemovedAndNewCreated test timeouts (#40209)
Eric StJohn [Sat, 1 Aug 2020 07:42:56 +0000 (00:42 -0700)]
Make dotnet-Microsoft.XmlSerializer.Generator run on latest framework (#40216)
Larry Ewing [Sat, 1 Aug 2020 04:11:22 +0000 (23:11 -0500)]
Remove unused bindings (#40229)
dotnet-maestro[bot] [Sat, 1 Aug 2020 03:48:35 +0000 (20:48 -0700)]
[master] Update dependencies from Microsoft/vstest dotnet/xharness (#40198)
* Update dependencies from https://github.com/microsoft/vstest build
20200730-03
Microsoft.NET.Test.Sdk
From Version 16.8.0-preview-
20200730-02 -> To Version 16.8.0-preview-
20200730-03
* Update dependencies from https://github.com/dotnet/xharness build
20200730.2
Microsoft.DotNet.XHarness.CLI , Microsoft.DotNet.XHarness.TestRunners.Xunit
From Version 1.0.0-prerelease.20380.1 -> To Version 1.0.0-prerelease.20380.2
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
David Wrighton [Sat, 1 Aug 2020 03:47:39 +0000 (20:47 -0700)]
Contract violation in generating exception is benign, it can be ignored (#40220)
Levi Broderick [Sat, 1 Aug 2020 03:00:08 +0000 (20:00 -0700)]
Avoid lock contention in MemberInfoCache (#40116)
David Mason [Fri, 31 Jul 2020 23:48:38 +0000 (16:48 -0700)]
Disable GCStress for profiler tests (#40171)
Marek Safar [Fri, 31 Jul 2020 23:39:53 +0000 (01:39 +0200)]
Update area-owners.md (#40200)
Eric StJohn [Fri, 31 Jul 2020 23:35:04 +0000 (16:35 -0700)]
Ensure we can evolve IO.Pipelines package (#40212)
David Mason [Fri, 31 Jul 2020 22:33:24 +0000 (15:33 -0700)]
Unregister callback when setting a provider for deferred delete (#40191)
John Salem [Fri, 31 Jul 2020 22:24:40 +0000 (15:24 -0700)]
Handle success case for overlapped IO in Windows Diagnostics IPC PAL (#39807)
Prevents unintialized memory from making its way into the call to WaitForMultipleObjects. That memory could contain a valid handle value and cause WFMO to hang since it isn't waiting on the correct handles.
Levi Broderick [Fri, 31 Jul 2020 20:31:42 +0000 (13:31 -0700)]
Clarify string source comments (#40210)
Matt Smith [Fri, 31 Jul 2020 20:16:46 +0000 (13:16 -0700)]
Adding sequential read as the file option in ReadAllBytes (#40213)
Alexander Köplinger [Fri, 31 Jul 2020 18:23:45 +0000 (20:23 +0200)]
Fix nullability warning in ApkBuilder.cs with newer Roslyn (#40155)
Larry Ewing [Fri, 31 Jul 2020 18:18:32 +0000 (13:18 -0500)]
[wasm] Enable stack tests that now work on browser-wasm (#40206)
* Enable stack tests that now work on browser-wasm
Larry Ewing [Fri, 31 Jul 2020 17:06:08 +0000 (12:06 -0500)]
Improve runtime error logging (#40176)
Marek Safar [Fri, 31 Jul 2020 15:53:30 +0000 (17:53 +0200)]
Move GetCurrentProcessId interop for Browser to managed (#39367)
* Move GetCurrentProcessId for Browser to managed
It returns constant all the time
* Remove redundant indirection
* Fix EventSource build break
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
Jan Kotas [Fri, 31 Jul 2020 15:50:06 +0000 (08:50 -0700)]
Delete unused PInvokeInline config value (#40199)
Fixes #40192
Kunal Pathak [Fri, 31 Jul 2020 14:17:17 +0000 (07:17 -0700)]
Rename pInitRegModified ->pInitRegZeroed , fix a condition that decides if initReg should be zero-initialized (#40148)
* Revert "Renamed pInitRegZeroed to pInitRegModified, initRegZeroed to initRegM… (#36321)"
This reverts commit
e5516bb2b188e56b47a758c9cbf0a7f1adf90dd0.
* Fix the condition that determines if initReg was used during function prolog generation
Also update the comments to make the use of initRegZeroed clear.
* Reworded some comments related to pInitRegZeroed
* Review comments
* reword a comment
Eric StJohn [Fri, 31 Jul 2020 14:00:17 +0000 (07:00 -0700)]
Bring back Microsoft.Bcl.AsyncInterfaces (#40189)
* Bring back Microsoft.Bcl.AsyncInterfaces
This is needed in order to build a version of this assembly that uses
the latest version of its dependency System.Threading.Tasks.Extensions
Without this, we'd reference in inconsistent set of versions for S.T.T.E
in libraries that use both AsyncInterfaces and S.T.T.E.
* Update src/libraries/Microsoft.Bcl.AsyncInterfaces/ref/Microsoft.Bcl.AsyncInterfaces.csproj
* Update src/libraries/Microsoft.Bcl.AsyncInterfaces/ref/Microsoft.Bcl.AsyncInterfaces.csproj
* Update src/libraries/Microsoft.Bcl.AsyncInterfaces/src/Microsoft.Bcl.AsyncInterfaces.csproj
* Update src/libraries/Microsoft.Bcl.AsyncInterfaces/src/Microsoft.Bcl.AsyncInterfaces.csproj
* Update src/libraries/System.Text.Json/src/System.Text.Json.csproj
* Update src/libraries/Microsoft.Extensions.Logging/src/Microsoft.Extensions.Logging.csproj
* Update src/libraries/Microsoft.Extensions.Logging.EventSource/src/Microsoft.Extensions.Logging.EventSource.csproj
* Update src/libraries/Microsoft.Extensions.Logging.Console/src/Microsoft.Extensions.Logging.Console.csproj
* Update src/libraries/Microsoft.Extensions.Hosting/src/Microsoft.Extensions.Hosting.csproj
* Update src/libraries/Microsoft.Extensions.Hosting.Abstractions/src/Microsoft.Extensions.Hosting.Abstractions.csproj
* Update src/libraries/Microsoft.Extensions.DependencyInjection/src/Microsoft.Extensions.DependencyInjection.csproj
* Update src/libraries/Microsoft.Bcl.AsyncInterfaces/tests/Microsoft.Bcl.AsyncInterfaces.Tests.csproj
* Update src/libraries/Microsoft.Bcl.AsyncInterfaces/src/Microsoft.Bcl.AsyncInterfaces.csproj
Co-authored-by: Viktor Hofer <viktor.hofer@microsoft.com>
monojenkins [Fri, 31 Jul 2020 13:24:48 +0000 (09:24 -0400)]
Fix __asm__ specifications for Clang (#40175)
This patch set will enable a clean build of mono for s390x using clang. The register specifications require the use of a prefix ('r' - general registers 'f' - floating point 'a' - access) rather than just a number. This has been fixed in the most recent level of clang. The current compilers (gcc and clang) are also better at optimizing string operations so the compiler option ```-D__USE_STRING_INLINES``` is also no longer required.
Co-authored-by: nealef <nealef@users.noreply.github.com>
Viktor Hofer [Fri, 31 Jul 2020 11:36:05 +0000 (13:36 +0200)]
Disable MSB3270 warning when referencing CoreLib (#40158)
We intentionally reference CoreLib (platform specific) from our platform neutral (=AnyCPU) assemblies, ie System.Runtime. Disabling the warning that is shown in VS.
Maxim Lipnin [Fri, 31 Jul 2020 08:38:40 +0000 (11:38 +0300)]
[wasm] Re-enable some System.Linq.Expressions tests (#40130)
David Wrighton [Fri, 31 Jul 2020 04:37:23 +0000 (21:37 -0700)]
Correctly handle gc desc for explicit layout type which inherits from another type (#40160)
- Fix memory corruption issue when an explicit layout class derived from a class with a gc pointer in it
David Wrighton [Fri, 31 Jul 2020 04:03:39 +0000 (21:03 -0700)]
Use IsCopyConstructed modreq consistently in test (#40168)
- X86 calling convention for copy constructed arguments is special, therefore the delegate must have the IsCopyConstructed modreq as well as the callsite
Eugene Rozenfeld [Fri, 31 Jul 2020 00:19:59 +0000 (17:19 -0700)]
Re-work fix for flow graph update. (#40162)
In #39878 I switched fgUpdateChangedFlowGraph to call fgComputeReachability,
which both removes unreachable blocks and calls fgComputeDoms. As mentioned
in that PR, in addition to removing unreachable blocks fgRemoveUnreachableBlocks
updates `BBF_LOOP_HEAD` flags even if no unreachable blocks were found. That resulted
in some diffs, both positive and negative, from downstream effects: e.g., in some cases
we now recognize more loops, which changes weights, etc.
Some of the negative diffs affected benchmarks we are tracking, e.g., in #40094
`System.Text.RegularExpressions.Tests.Perf_Regex_Common` had a 10% regression
because of codegen diffs in the large dynamic method created when compiling regular expressions.
Because of these regressions, I decided to go with a more surgical fix for the original issue (assert when
computing dominators after inlining GC polls). The downstream phases don't really need the dominator
info so I changed fgUpdateChangedFlowGraph to not re-compute dominators after GC poll inlining.
This reverses all diffs from #39878 and fixes #40094.
David Wrighton [Fri, 31 Jul 2020 00:13:37 +0000 (17:13 -0700)]
Disable copy ctor test on Mono (#40161)
The underlying feature here was designed only for IJW, which isn't supported by mono
monojenkins [Thu, 30 Jul 2020 23:21:34 +0000 (19:21 -0400)]
[RISCV] Build fixes and simple exception handling (#40142)
Hello Mono friends,
here are some build fixes to make the RISC-V port compile again. Also I added some minimal exception handling stuff to make most of the mini regression test suites passing in the interpreter:
```console
$ for i in mono/mini/{basic.exe,basic-float.exe,basic-long.exe,basic-calls.exe,objects.exe,arrays.exe,exceptions.exe,iltests.exe,devirtualization.exe,generics.exe,basic-vectors.exe,ratests.exe}; do \
MONO_PATH=../managed-libs/./mcs/class/lib/net_4_x-linux/ \
qemu-riscv64 ./mono/mini/mono-sgen --config data/config --regression --interp $i;
done
```
output here: https://gist.github.com/lewurm/
d7e54b47930126e6bae77b9a4eee1d40
While this is cool, keep in mind this only works because `--regression` doesn't pull in any native transitions. For this we essentially need a working JIT and implement some trampolines. Alas I ran out of time for my hackweek project to get it in any useful state, so I didn't include it in this PR. My WIP branch is here: https://github.com/lewurm/mono/commits/riscv-wip
I also ran into an annoying qemu bug which I reported here: https://github.com/riscv/riscv-binutils-gdb/issues/223 / https://bugs.launchpad.net/qemu/+bug/1889411 Hopefully this will be fixed before I touch it next time and/or I have real hardware at this point 😄
/cc @alexrp
Co-authored-by: lewurm <lewurm@users.noreply.github.com>
David Mason [Thu, 30 Jul 2020 23:20:24 +0000 (16:20 -0700)]
Report POH objects in RootReferences and ObjectReferences (#39992)
David Wrighton [Thu, 30 Jul 2020 22:34:25 +0000 (15:34 -0700)]
Do not check static methods for variance safety rules (#40152)
- There are no variance restrictions on the method signature of static members
This change brings the coreclr runtime into compliance with section 9.7 of Partition II of the ECMA 335 spec.
Anirudh Agnihotry [Thu, 30 Jul 2020 21:52:46 +0000 (14:52 -0700)]
Correcting Mismatch between ref and src (#39741)
* minor formatting
* ref changes
Layomi Akinrinade [Thu, 30 Jul 2020 21:52:15 +0000 (14:52 -0700)]
Verify JsonSerializer support for init-only properties (#40150)
Marek Safar [Thu, 30 Jul 2020 21:09:44 +0000 (23:09 +0200)]
Exclude EUid and EGid for Browser build as they are not supported (#39483)
dotnet-maestro[bot] [Thu, 30 Jul 2020 20:55:35 +0000 (13:55 -0700)]
[master] Update dependencies from dotnet/arcade mono/linker Microsoft/vstest dotnet/runtime-assets dotnet/xharness (#40085)
* Update dependencies from https://github.com/dotnet/arcade build
20200724.1
Microsoft.DotNet.XUnitExtensions , Microsoft.DotNet.GenFacades , 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.XUnitConsoleRunner , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.ApiCompat
From Version 5.0.0-beta.20364.3 -> To Version 5.0.0-beta.20374.1
* Update dependencies from https://github.com/mono/linker build
20200728.1
Microsoft.NET.ILLink.Tasks
From Version 5.0.0-preview.3.20374.1 -> To Version 5.0.0-preview.3.20378.1
* Update dependencies from https://github.com/microsoft/vstest build
20200730-02
Microsoft.NET.Test.Sdk
From Version 16.8.0-preview-
20200720-01 -> To Version 16.8.0-preview-
20200730-02
* Update dependencies from https://github.com/dotnet/runtime-assets build
20200727.1
System.ComponentModel.TypeConverter.TestData , System.Drawing.Common.TestData , System.IO.Compression.TestData , System.IO.Packaging.TestData , System.Net.TestData , System.Private.Runtime.UnicodeData , System.Security.Cryptography.X509Certificates.TestData , System.Windows.Extensions.TestData
From Version 5.0.0-beta.20364.1 -> To Version 5.0.0-beta.20377.1
* Update dependencies from https://github.com/dotnet/xharness build
20200730.1
Microsoft.DotNet.XHarness.CLI , Microsoft.DotNet.XHarness.TestRunners.Xunit
From Version 1.0.0-prerelease.20352.3 -> To Version 1.0.0-prerelease.20380.1
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>