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>
David Cantu [Thu, 30 Jul 2020 20:12:54 +0000 (13:12 -0700)]
Add nullability annotations to XPath*files in Xml/Cache (#40114)
* Add nullability annotations to XPath* files in Xml/Cache
* Move missplaced assertion on CachedTextNode
* Add product fixes suggested on PR feedback
David Wrighton [Thu, 30 Jul 2020 19:31:32 +0000 (12:31 -0700)]
Generate deterministic timestamp (#40122)
- Port the logic from the Roslyn compiler that handles deterministic timestamp generation
- Enable for composite images
This allows matching up generated pdb files with the composite image to work correctly in all known cases.
David Wrighton [Thu, 30 Jul 2020 19:04:45 +0000 (12:04 -0700)]
Copy ctor handling for crossgen2 (#40113)
- Add IL based test for copy ctor to allow testing in Crossgen2 which doesn't yet support IJW
- Add api to determine proper EmbeddedSignatureData index for these
- And tests to ensure this remains functional
- Marshaller changes to recognize copy constructor cases
- Note that there isn't actual marshaller support. Instead the compiler can now able to detect when copy ctors should be used, and falls back to the runtime interop layer
Layomi Akinrinade [Thu, 30 Jul 2020 18:42:48 +0000 (11:42 -0700)]
Bulk-suppress linker warnings during library builds (#40106)
* Enable verbose linker output and bulk-suppress warnings
* Suppress ILLinker warnings for now, so ILLinker can enable warnings by default
Co-authored-by: Eric Erhardt <eric.erhardt@microsoft.com>
Kenneth Pouncey [Thu, 30 Jul 2020 18:21:31 +0000 (20:21 +0200)]
[browser][tests] Deactivate marshal tests as they are flaky right now. (#40139)
* [browser][tests] Deactivate marshal tests as they are flaky right now.
* Use active issue instead
Andy Ayers [Thu, 30 Jul 2020 18:05:17 +0000 (11:05 -0700)]
For arm32, kill REG_PROFILER_RET_SCRATCH for LSRA but not for GC (#40123)
Reworking of #37969. Block LSRA from using R2 around the profiler leave
callback, but don't kill GC refs in R2, since late codegen will use
R2 to temporarily hold return values around the callback.
Fixes #37223.
Co-authored-by: Carol Eidt <carol.eidt@microsoft.com>
Eric Erhardt [Thu, 30 Jul 2020 17:35:09 +0000 (12:35 -0500)]
Fix ILLink.Substitutions.xml Warnings during Blazor build (#40051)
* Fix ILLink warning for System.Runtime.Serialization.Formatters
LocalAppContextSwitches is getting trimmed from the Browser specific assembly since it is unused. However, we still have an ILLink.Substitutions.xml file referencing it, causing the warning.
The fix is to only include the ILLink.Substitutions.xml file for the non-Browser build.
* Fix ILLink warning in System.Runtime.InteropServices.JavaScript
When building for Browser, the Runtime.InteropServices.JavaScript assembly doesn't use the System.SR type which causes the ILLinker to trim it during the dotnet/runtme build. But since System.SR is used for the AnyOS build we are generating an ILLink.Substitutions.xml file telling the linker to remove the System.SR type. This causes a warning during the Blazor app build because the Type doesn't exist in the assembly, but the XML file references it.
The fix is to not create an System.SR Type, nor embed the resources file, for the Browser build. This will need to be undone once a string is used in the Browser build.
Egor Chesakov [Thu, 30 Jul 2020 17:05:43 +0000 (10:05 -0700)]
Consider that retbuf arg can point to GC heap in fgCreateCallDispatcherAndGetResult() (#39815)
Caller return buffer argument can point to GC heap while DispatchTailCalls expects the return value argument to point to the stack. We should use a temporary stack allocated return buffer to hold the value during the dispatcher call and copy the value back to the caller return buffer after that.
Michal Strehovský [Thu, 30 Jul 2020 16:08:50 +0000 (18:08 +0200)]
Sync shared file (#40141)
Alexander Köplinger [Thu, 30 Jul 2020 16:04:37 +0000 (18:04 +0200)]
[wasm] Address TODO in pal_runtimeinformation.c (#40133)
The WASM architecture wasn't added there since we already hardcode the architecture to wasm in the managed layer.
For consistency we should still define it in the PAL though and address the TODO comment.
Also added a test that verifies we indeed get the correct wasm architecture on the Browser platform.
Viktor Hofer [Thu, 30 Jul 2020 16:02:54 +0000 (18:02 +0200)]
Remove AspNetCore Testing Infra that isn't used (#40091)
Jarret Shook [Thu, 30 Jul 2020 15:27:26 +0000 (08:27 -0700)]
Add first fsharp test (#39871)
* Add our first fsharp test
This will test some newly supported codepaths in .Net 5.0
* Working test
* Small change
* Addressed feedback and resolve fsharp dependencies
* Add a separate dependency to be restored and copied
* Fix typo
Alexander Nikolaev [Thu, 30 Jul 2020 14:43:23 +0000 (16:43 +0200)]
Telemetry doesn't log datagrams failed in send/receive (#40083)
monojenkins [Thu, 30 Jul 2020 14:05:02 +0000 (10:05 -0400)]
[jit] Avoid calling mono_marshal_get_native_wrapper () too early, it needs to be called when the pinvoke method is first called. (#40063)
Co-authored-by: vargaz <vargaz@users.noreply.github.com>
Viktor Hofer [Thu, 30 Jul 2020 13:29:30 +0000 (15:29 +0200)]
Update docs for packaging and other nits (#40134)
* Update docs for packaging and other nits
Miha Zupan [Thu, 30 Jul 2020 08:36:38 +0000 (10:36 +0200)]
Implement Header encoding selectors on SocketsHttpHandler (#39468)
* Expose HeaderEncodingSelectors on SocketsHttpHandler
* Implement header encoding selectors in SocketsHttpHandler
* Add header encoding tests
* Add summaries for new APIs
* Use Stream.Write(byte[], int, int) overloads for framework compat
* Add dummy API implementation to browser target
* HPack/QPack fixes
* Move HeaderEncodingSelector delegate to namespace, add TContext
* Encoding fixes
* Remove unused using
* Simplify test
* HttpConnection PR feedback
* Simplify fast-path detection
Viktor Hofer [Thu, 30 Jul 2020 07:58:05 +0000 (09:58 +0200)]
Support dotnet pack on libs src project (#40107)
* Support dotnet pack on libs src project
* Update eng/packaging.targets
Co-authored-by: Santiago Fernandez Madero <safern@microsoft.com>
Anton Firszov [Thu, 30 Jul 2020 07:42:08 +0000 (09:42 +0200)]
Minor fix in library build instruction (#40109)
Sergey Andreenko [Thu, 30 Jul 2020 02:33:37 +0000 (19:33 -0700)]
Fix dummy OBJ/BLK/IND nodes. (#39824)
* Add a repro.
* Add a helper function `fgTryRemoveNonLocal`.
* Fix the issue.
* extract `gtChangeOperToNullCheck`.
* update comments.
Roman Marusyk [Thu, 30 Jul 2020 00:32:51 +0000 (03:32 +0300)]
Remove dead resource strings from Microsoft.VisualBasic.Core (#40053)
David Wrighton [Thu, 30 Jul 2020 00:01:44 +0000 (17:01 -0700)]
Re-enable ThreadStartBool_1 test for crossgen2 compilation (#40098)
Levi Broderick [Wed, 29 Jul 2020 22:33:18 +0000 (15:33 -0700)]
Add BinaryFormatter auditing EventSource (#39874)
David Mason [Wed, 29 Jul 2020 21:53:07 +0000 (14:53 -0700)]
Add profiler ELT test (#39550)
Fix the following issues:
On amd64 linux we didn't save and restore the xmm registers, and didn't handle enregistered 16 bytes structs as return values
On arm we didn't save and restore the floating point registers (I made the linux arm helpers match the windows arm helpers)
On arm64 we didn't handle 16 byte enregistered structs as return values
And add tests
Viktor Hofer [Wed, 29 Jul 2020 21:39:02 +0000 (23:39 +0200)]
Fix CoreLib build when building libraries solutions (#40097)
If a project that is part of solution has a ProjectReference to CoreLib, the Platform property was set to AnyCPU and CoreLib was built with the wrong Platform/Platform_Target.
Mike McLaughlin [Wed, 29 Jul 2020 20:56:45 +0000 (13:56 -0700)]
Add env var to control createdump on MacOS (#39982)
Add env var to control createdump on MacOS
The COMPlus_DbgEnableElfDumpOnMacOS needs to be set to 1 along with all the other standard createdump env vars for dumps to be enabled on MacOS.
This is because ELF coredumps are generated on MacOS and we want customers to be very explicit and aware of what the are getting.
Change test harness to use the new env var
Createdump documentation update
David Wrighton [Wed, 29 Jul 2020 20:26:34 +0000 (13:26 -0700)]
Tolerate pathological growth of optCSEHash (#40056)
The optCSEhash can grow an unbounded amount if the function has numerous trees which are put into the optCSEhash as possible CSE candidates, but fewer than MAX_CSE_CNT are found, then the compiler will spend excessive amounts of time looking up entries in the optCSEhash.
This fix addresses the issue by making the optCSEhash able to grow its count of buckets.
David Wrighton [Wed, 29 Jul 2020 20:25:00 +0000 (13:25 -0700)]
Tweak ObjectStackAllocationTests so that they work correctly under crossgen2 (#40096)
- Add a mechanism for passing arbitrary arguments to the crossgen2 process while running crossgen2 tests
- Pass the `--codegenopt JitObjectStackAllocation=1` when compiling this test with Crossgen2. This will result in enabling the object stack allocation feature during compilation
- As Crossgen2 currently disregards the debuggable attribute when deciding codegen mode, detect the presence running crossgen2 and expect allocation to occur on the stack even if S.P.C is debuggable
Andrew Au [Wed, 29 Jul 2020 19:21:11 +0000 (12:21 -0700)]
Fix unwind info decoding (#40030)
Viktor Hofer [Wed, 29 Jul 2020 19:12:17 +0000 (21:12 +0200)]
Fix TestUtilities IsTestProject being set to true inside VS (#40089)
Koundinya Veluri [Wed, 29 Jul 2020 18:50:59 +0000 (14:50 -0400)]
Add config var to allow disabling automatic CPU group assignment for threads (#38568)
- When CPU groups are enabled through config, some new threads (Thread.Start, thread pool threads) are automatically assigned to a CPU group, starting with the process' CPU group and once it is filled up, assigning new threads to a different CPU group. An app may have native components that also use threads, and may want to do its own thread-spreading (for instance in DllMain), this config allows such apps to disable the automatic CPU group assignment which would otherwise override an assignment made in DllMain. The new config var does not affect GC threads.
- This was requested for .NET Framework, porting to .NET Core as well
Prashanth Govindarajan [Wed, 29 Jul 2020 18:02:03 +0000 (11:02 -0700)]
Narrow four utf16 chars to ascii and write to buffer (#39508)
* Shims
* shim
* Cherry-pick
* NarrowFourUtf16CharsToAsciiAndWriteToBuffer
* Address comments
* Nit
David Wrighton [Wed, 29 Jul 2020 17:57:58 +0000 (10:57 -0700)]
Re-enable test as issue was fixed (#40026)
Andrew Au [Wed, 29 Jul 2020 17:44:43 +0000 (10:44 -0700)]
Add more configurations to runtimeconfig.json (#40036)
Tomáš Rylek [Wed, 29 Jul 2020 17:37:59 +0000 (19:37 +0200)]
Crossgen2 composite GC stress pipeline (#39949)
Olivia Chen [Wed, 29 Jul 2020 16:50:54 +0000 (09:50 -0700)]
Split Perf Helix Workitem (#39859)
* wip
* split perf jobs into test categories
* add test category to run-performance-job.yml
* correct space
* add space to parameter var
* add $
* fix yaml
* revert extraparameters
* replace crossgen runkind
* change micro_mono tag
* remove space
Andy Ayers [Wed, 29 Jul 2020 16:07:23 +0000 (09:07 -0700)]
JIT: ensure fgFirstBB has appropriate flags (#40038)
This fixes an issue where release jits might sometimes generate bad GC info.
Keeping it minimal for now so we can consider servicing preview 8.
See #39023 for details.
Alexander Köplinger [Wed, 29 Jul 2020 14:44:16 +0000 (16:44 +0200)]
[wasm] Remove unused icalls for Environment properties (#40079)
They are no longer needed after https://github.com/dotnet/runtime/pull/38996 since we return values in managed code now.
Geoff Kizer [Wed, 29 Jul 2020 11:31:25 +0000 (04:31 -0700)]
BindAsync -> ListenAsync (#40068)
BindAsync -> ListenAsync
Marie Píchová [Wed, 29 Jul 2020 10:41:42 +0000 (12:41 +0200)]
Do not test sockets handler fix on WinHttpHandler. (#40070)
Santiago Fernandez Madero [Wed, 29 Jul 2020 09:55:56 +0000 (02:55 -0700)]
WASM: Enable GetAssemblyNameTest_ValidAssembly and add hook to include custom files into vfs (#40032)