Michal Strehovský [Fri, 18 Dec 2020 13:26:28 +0000 (14:26 +0100)]
Garbage collect CoreLib resource strings (#46121)
Most seem to be orphaned after the deletion of Utf8String and built-in WinRT support.
Maxim Lipnin [Fri, 18 Dec 2020 13:03:26 +0000 (16:03 +0300)]
Remove the logic duplication for iOS case (#46189)
Addresses https://github.com/dotnet/runtime/issues/46156#issuecomment-
746868381
monojenkins [Fri, 18 Dec 2020 12:29:34 +0000 (07:29 -0500)]
[tests] Accept GUIDs from .NET Framework in ccw-class-iface test. (#46150)
The commit
d5f338c088defdf81f4374f4e6fbff75c9b1e554 broke the ccw-class-iface test on Windows under .NET Framework. A couple of the tests expect Guid.Empty, but Mono only produces Guid.Empty because GUID generation isn't yet implemented for those classes.
This patch adds the values produced by .NET Framework as accepted values, while still accepting Guid.Empty for now.
Co-authored-by: madewokherd <madewokherd@users.noreply.github.com>
dotnet-maestro[bot] [Fri, 18 Dec 2020 11:04:06 +0000 (12:04 +0100)]
[master] Update dependencies from mono/linker (#46035)
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
monojenkins [Fri, 18 Dec 2020 10:18:05 +0000 (05:18 -0500)]
[sdb] Add ability to retrieve custom attributes on assemblies (#46164)
This reuses the existing pattern in Mono.Debugger.Soft to retrieve custom attributes.
The only questionable thing is moving the `buffer_add_cattrs` function instead of adding a forward declaration.
Co-authored-by: jbevain <jbevain@users.noreply.github.com>
Omair Majid [Fri, 18 Dec 2020 05:05:24 +0000 (00:05 -0500)]
Disable apphost in ILVerify (#45036)
It doesn't appear to be needed and ends up as a prebuilt for
source-build.
Vladimir Sadov [Fri, 18 Dec 2020 04:43:16 +0000 (20:43 -0800)]
Moving the rest of Unix libraries to the 'overrider' mechanism when linked into static host. (#45995)
* System.Net.Security.Native
* System.Native
* fix for OSX
* fix for wasm
* fix for IOS
* Fix for FreeBSD
* System.Security.Cryptography.Native.OpenSsl
* fix OSX
* Add script to validate entrypoints.c against dll entries
* add missing CryptoNative entries
* Added verification in more projects
* Add missing entries in other files
* System.Security.Cryptography.Native.Apple
* fix for IOS/TVOS
* Change .py verification script to bash
* Update the verify_entrypoints.sh to not to use awk and work on macOS
* PR feedback
* reduce exports of System.IO.Compression.Native.dll on Windows to what is actually used and to match Unix.
* unixexports for System.IO.Compression.Native
* trying to fix IOS/TVOS
* move awk and linker flavor detection to configuretools.cmake
Co-authored-by: Jan Vorlicek <janvorli@microsoft.com>
dotnet-maestro[bot] [Fri, 18 Dec 2020 00:48:43 +0000 (00:48 +0000)]
Update dependencies from https://github.com/dotnet/arcade build
20201215.4 (#46190)
[master] Update dependencies from dotnet/arcade
- Merge branch 'master' into darc-master-
7182afa7-4616-4185-bb0f-
bf6d141d0210
Bruce Forstall [Fri, 18 Dec 2020 00:36:23 +0000 (16:36 -0800)]
Add variable lifetime update for GT_STOREIND for arm/arm64 (#46059)
Fix #45557 for arm/arm64
Fixes #46023
Maoni Stephens [Fri, 18 Dec 2020 00:26:41 +0000 (16:26 -0800)]
Code cleanup (#45950)
Changed a bunch of dprintf levels, eg from 3 to 1 when they are for FATAL_GC_ERROR 'cause you'd always want them; from 1 to 2 in seg_mapping table functions 'cause there could be tons of these when there are many heaps.
Fixed a perf bug in commit_new_mark_array introduced by the refactor change (#1688). This doesn't cause functional problems - we are just calling the same commit_mark_array_with_check on new_heap_segment multiple times.
Got rid of keep_card_live - all it needs is just to increase the cross gen pointer count.
Got rid of useful empty lines/comments/a few vars.
Renamed a few vars to the actual meaning.
Renamed should_commit_mark_array to is_bgc_in_progress and modified a few places to call it instead of duplicated code.
Moved the decision of condemning 1 when bgc is in progress to joined_generation_to_condemn (should logically belong there anyway) which fixes the problem that GCToEEInterface::DiagGCStart was getting the wrong condemned gen in this case. It's also nicer to have all the code that makes the decision of which gen to condemn in only generation_to_condemn and joined_generation_to_condemn.
Make PARALLEL_MARK_LIST_SORT always defined and got rid of code when it's not.
Proper checks for FEATURE_LOH_COMPACTION in a few places.
Changed some really long lines (please try to keep lines under 110 chars in general).
Bruce Forstall [Fri, 18 Dec 2020 00:21:43 +0000 (16:21 -0800)]
Fix crash in SuperPMI getUnmanagedCallConv (#46202)
Fix issue introduced in #45625
Steve MacLean [Thu, 17 Dec 2020 23:46:14 +0000 (18:46 -0500)]
Apple Silicon fix FEATURE_WRITEBARRIER_COPY (#46201)
Copy JIT_CheckedWriteBarrier & JIT_ByRefWriteBarrier with FEATURE_WRITEBARRIER_COPY
Fixes error in relative displacement lookup in JIT_CheckedWriteBarrier
Removes one level of indirection
Marek Safar [Thu, 17 Dec 2020 23:36:35 +0000 (00:36 +0100)]
Throw MME exception instead of null crash when default ctor is missing (#45963)
Zoltan Varga [Thu, 17 Dec 2020 23:02:51 +0000 (18:02 -0500)]
Optimize the initialization of the OrdinalCasing::s_sCasingTable table. (#46061)
Tomas Weinfurt [Thu, 17 Dec 2020 21:55:10 +0000 (13:55 -0800)]
disable ConnectCallback_UseUnixDomainSocket_Success on Windows (#46198)
Steve MacLean [Thu, 17 Dec 2020 21:01:46 +0000 (16:01 -0500)]
Implement FlushProcessWriteBuffers for macos-arm64 (#44670)
Sergey Andreenko [Thu, 17 Dec 2020 19:26:11 +0000 (11:26 -0800)]
Try to reenable tests that are marked as fixed. (#46162)
* Try to reenable tests that are marked as fixed.
* disable the failing tests with the new issue number.
Steve Pfister [Thu, 17 Dec 2020 18:52:47 +0000 (13:52 -0500)]
Add Wasm AOT steps into WasmApp.targets (#46081)
AOT can now be triggered through the libraries tests as well as the wasm samples.
Passing /p:RunAOTCompilation=true is all that is needed for the libraries test run. The property will be false (for now) by default.
Gleb Balykov [Thu, 17 Dec 2020 18:28:45 +0000 (21:28 +0300)]
Fix memory errors related to EventPipe setup with COMPlus_EventPipeConfig (#44068)
- XplatEventLoggerConfiguration configuration owns strings passed to EventPipeProviderConfiguration pProviders, and configurations are freed before pProviders are copied to EventPipeSessionProvider
- NewArrayHolder shoud be used for pProviders to fix memory leak (delete[] instead of delete)
Michael Bisbjerg [Thu, 17 Dec 2020 18:08:36 +0000 (19:08 +0100)]
Change CookieParser to handle Expires as a UTC DateTime (#45558)
This changes the DateTime parsing to not convert the parsed Expires value to a Local datetime, potentially adding hours to it and making it invalid if it surpasses `DateTime.MaxValue`.
Fixes #45491
Jan Jahoda [Thu, 17 Dec 2020 17:13:49 +0000 (18:13 +0100)]
Fix invalid access of Target in SafeCredentialReference (#36875)
* Fix invalid test of SafeCredentialReference
* Remove commented code
* fix csproj
* add forgot namespace
* Extract SafeCredentialReference to new file
* Clean up
* Apply suggestions from code review
Co-authored-by: Stephen Toub <stoub@microsoft.com>
* Fix nullable check
* Fix null ref exception when accessing SecuritySafeHandler in SslSessionSache
* Remove var
* Revert to back cache crearing mechanizm
* Revert "Removed nightly to workaround failing Kestrel init. (#41934)"
This reverts commit
a84720cb68b940374e1955783ad55abb119e2fd3.
* Test invalid credentials
* fix windows test csproj
* Clean up cred cache shrink method
Co-authored-by: Stephen Toub <stoub@microsoft.com>
dotnet-maestro[bot] [Thu, 17 Dec 2020 17:08:39 +0000 (17:08 +0000)]
[master] Update dependencies from dotnet/runtime (#46137)
[master] Update dependencies from dotnet/runtime
- Merge branch 'master' into darc-master-
9bfc901c-7973-42f0-ba43-
44e57ffa6f96
monojenkins [Thu, 17 Dec 2020 15:53:21 +0000 (10:53 -0500)]
[metadata] If a static field fails while computing size, fail the class (#45918)
Fixes https://github.com/mono/mono/issues/20650
Co-authored-by: lambdageek <lambdageek@users.noreply.github.com>
Ryan Lucia [Thu, 17 Dec 2020 09:48:39 +0000 (04:48 -0500)]
[mono] Move noilgen marshaling functions to a separate file (#46046)
Jeremy Koritzinsky [Thu, 17 Dec 2020 04:37:41 +0000 (20:37 -0800)]
Use destType for size instead of srcType when writing a variable from a register to the stack. (#46176)
Jan Kotas [Thu, 17 Dec 2020 04:22:22 +0000 (20:22 -0800)]
Fix performance regression in Activator.CreateInstance on Mono (#46173)
Fixes #46170
Kunal Pathak [Thu, 17 Dec 2020 03:41:51 +0000 (19:41 -0800)]
fix over-estimation for broadcast* instructions (#46108)
dotnet-maestro[bot] [Thu, 17 Dec 2020 03:28:15 +0000 (04:28 +0100)]
[master] Update dependencies from dotnet/icu dotnet/arcade dotnet/xharness dotnet/llvm-project (#46038)
* Update dependencies from https://github.com/dotnet/xharness build
20201214.1
Microsoft.DotNet.XHarness.CLI , Microsoft.DotNet.XHarness.TestRunners.Xunit
From Version 1.0.0-prerelease.20611.1 -> To Version 1.0.0-prerelease.20614.1
* Update dependencies from https://github.com/dotnet/llvm-project build
20201214.1
runtime.osx.10.12-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.osx.10.12-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk
From Version 9.0.1-alpha.1.20607.1 -> To Version 9.0.1-alpha.1.20614.1
* Update dependencies from https://github.com/dotnet/icu build
20201214.1
Microsoft.NETCore.Runtime.ICU.Transport
From Version 6.0.0-alpha.1.20607.1 -> To Version 6.0.0-alpha.1.20614.1
* Update dependencies from https://github.com/dotnet/arcade build
20201211.1
Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk , Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.GenAPI , Microsoft.DotNet.GenFacades , Microsoft.DotNet.XUnitExtensions , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.SharedFramework.Sdk , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.ApiCompat
From Version 6.0.0-beta.20610.4 -> To Version 6.0.0-beta.20611.1
* Update dependencies from https://github.com/dotnet/xharness build
20201215.1
Microsoft.DotNet.XHarness.CLI , Microsoft.DotNet.XHarness.TestRunners.Xunit
From Version 1.0.0-prerelease.20611.1 -> To Version 1.0.0-prerelease.20615.1
* Update dependencies from https://github.com/dotnet/arcade build
20201214.8
Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk , Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.GenAPI , Microsoft.DotNet.GenFacades , Microsoft.DotNet.XUnitExtensions , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.SharedFramework.Sdk , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.ApiCompat
From Version 6.0.0-beta.20611.1 -> To Version 6.0.0-beta.20614.8
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Marek Safar <marek.safar@gmail.com>
Egor Bogatov [Thu, 17 Dec 2020 01:42:02 +0000 (04:42 +0300)]
RyuJIT: Don't emit cast helpers for (T)array.Clone() (#45311)
Note that Array.Clone()'s return type is the same as the type of its first operand.
This allows optimization of casts on the result of calls to Clone().
Santiago Fernandez Madero [Thu, 17 Dec 2020 01:08:53 +0000 (17:08 -0800)]
Remove checkout bundle and job to improve reliability (#46107)
* Remove checkout bundle and job to improve reliability
* comment
* Fix build error
* Rename evaluate paths job to a valid name
* Fix references to evaluate path variables
* Condition evaluate paths dependency on common parameter
* Bring back fetch depth to 20
* PR Feedback
Dan Moseley [Thu, 17 Dec 2020 00:45:32 +0000 (16:45 -0800)]
Fix complus casing (#46167)
Sergey Andreenko [Thu, 17 Dec 2020 00:40:42 +0000 (16:40 -0800)]
Fix issue number for the disabled tests. (#46163)
Simon Nattress [Thu, 17 Dec 2020 00:24:27 +0000 (16:24 -0800)]
Re-use ImportThunks in Crossgen2 (#45747)
Reduce the number of thunks generated to be in line with Crossgen1. Each unique method that is called currently gets its own thunk used for that specific import section entry. Change the thunk calling pattern to match Crossgen1, allowing a small handful of thunks to be re-used for all method / virtual method calls. Overall Crossgen2'd framework size reduced from 92,392,504bytes -> 87,051,832bytes (5.8%)
* Create ImportThunks using the `NodeFactory` instead of allocating directly to allow sharing between different imports.
* On x64, switch method call helper thunk to use following assembly:
```
xor eax, eax
push index
push [module]
jmp [helperCell]
```
* Previously we emitted this assembly for the thunks:
```
lea eax, [instanceCell]
push index
push [module]
jmp [helperCell]
```
* The runtime doesn't need the import cell for the call passing in - it finds it by disassembling the address from `call [helper]`.
* Each thunk encodes the containing import section index; duplication of thunks is thus allowed per import section.
* Share virtual method call fixup cells between all invocations of a given virtual method. Currently, each unique method calling a given virtual method gets a fixup. That can have a runtime performance gain but comes at the expense of binary size. Match Crossgen1 behavior and use a single fixup cell per virtual method.
Tomáš Rylek [Thu, 17 Dec 2020 00:00:26 +0000 (01:00 +0100)]
Fixes for disassembly support in x86-hosted R2RDump (#46102)
1) We need to remove the PlatformTarget spec to make sure
x86-hosted R2RDump actually runs under 32-bit host, otherwise it
fails to load x86-targeting coredistools.dll. Thanks to Michal
for pointing that out.
2) I have removed Zach's workaround blocking disassembly on x86.
3) Based on JanV's advice I have marked all the interface methods
as using the cdecl calling convention in accordance with the
native declarations.
4) I found out that Address was incorrectly declared as a 64-bit
integer in the PInvoke declaration while in reality it should be
an IntPtr (native int).
With these changes I'm for the first time able to disassemble
x86-targeting System.Private.CoreLib using the x86-hosted R2RDump.
Thanks
Tomas
Koundinya Veluri [Wed, 16 Dec 2020 23:27:34 +0000 (15:27 -0800)]
Fix some regressions in ASP.NET benchmarks (#46120)
- https://github.com/dotnet/runtime/pull/44265 seems to have caused large regressions on Windows and Linux-arm64. During that change we had tested adding the `Sleep(1)` to some `ConcurrentQueue` operations in contending cases, and not spin-waiting at all in forward-progressing cases. Not spin-waiting at all where possible in contending cases seemed to be better or equal for the most part (compared with spin-waiting without `Sleep(1)`), so I have removed spin-waiting in forward-progressing cases in `ConcurrentQueue`.
- There were some regressions from the portable thread pool on Windows. I have moved/tweaked a slight delay that I had added early on, after changes thereafter it lost its intention, with the changes it goes back to the original intention and seems to resolve some of the gap, but maybe not all of it in some tests. We'll check the graphs after this change and see if there is more to investigate. There are also other things to improve on Windows, and many of those may be separate from the portable thread pool but some may be relevant to the changes in perf characteristics.
Larry Ewing [Wed, 16 Dec 2020 22:41:52 +0000 (16:41 -0600)]
remove workaround in #40310 (#46154)
Adam Sitnik [Wed, 16 Dec 2020 20:25:29 +0000 (21:25 +0100)]
Make StartInfo_TextFile_ShellExecute test more reliable (#46133)
* nits
* use notepad.exe in explicit way, don't rely on it being associated with .txt files
otherwise things like notepad++ gets opened (common on dev machines) and the test fails
* run the tests for all cultures
* Revert "use notepad.exe in explicit way, don't rely on it being associated with .txt files"
This reverts commit
e7ec66d49fe9f301987d4dd2d2ef8e03092f7a10.
* add FileAssociations helpers
* use a unique extension name and associate Notepad with it so we are always sure that Notepad will be used (not other text editors)
Jeremy Koritzinsky [Wed, 16 Dec 2020 20:12:20 +0000 (12:12 -0800)]
Use InstallerPackageVersion for hostfxr dependency on dotnet-host package. (#46099)
Johan Lorensson [Wed, 16 Dec 2020 20:01:44 +0000 (21:01 +0100)]
Remove eventpipe from old Mono makefile build. (#46065)
Aleksey Kliger (λgeek) [Wed, 16 Dec 2020 19:59:30 +0000 (14:59 -0500)]
[mono] Use [MSBuild]::NormalizeDirectory in more places (#46145)
Bruce Forstall [Wed, 16 Dec 2020 18:20:10 +0000 (10:20 -0800)]
Generalize SuperPMI for cross-compilation scenarios (#46114)
Now, you can do Linux arm32 asm diffs on Windows x86, using the
pre-created Linux arm collection, as follows:
```
src\coreclr\scripts\superpmi.py asmdiffs -arch x86 -target_arch arm -jit_name clrjit_unix_arm_x86.dll -target_os Linux
```
You can do the same on Windows x64, using:
```
src\coreclr\scripts\superpmi.py asmdiffs -arch x64 -target_arch arm -jit_name clrjit_unix_arm_x64.dll -target_os Linux
```
but there are many failures in that scenario that still need to be investigated.
This change:
1. Fixes a bug with 32-bit pointer to 64-bit unsigned integer sign extension
(we don't want sign extension).
2. Allows more general specification of target to account for more general
coredistools (removes the "arm64 on x64" and "arm32 on x86" only rule).
Fixes #46095
Adam Sitnik [Wed, 16 Dec 2020 17:46:07 +0000 (18:46 +0100)]
Fix and reenable TestUserCredentialsPropertiesOnWindows (#46083)
* add missing CharSet = CharSet.Unicode so the NetUserDel can work properly
* make the user name more unique, ensure that it's always removed properly
* ensure the new user can access the .exe (otherwise you get Access is denied exception)
* remove active issue attribute
* nits
* don't run this test on Nano, as it has no "netapi32.dll"
Viktor Hofer [Wed, 16 Dec 2020 17:32:32 +0000 (18:32 +0100)]
Fix missing versions file and variable for packages (#46143)
Regressed with https://github.com/dotnet/runtime/commit/
f272bc5cf7737a3ce73b88083fed5cace52a2b16 which changed the default target from Build to Pack. Hooking onto both Build and Pack just for safety.
Fan Yang [Wed, 16 Dec 2020 17:29:39 +0000 (12:29 -0500)]
Remove redundant and incorrect checking. (#46094)
Adam Sitnik [Wed, 16 Dec 2020 15:57:33 +0000 (16:57 +0100)]
re-enable GetProcessesByName_ProcessName_ReturnsExpected test which used to fail on Nano (#46140)
Viktor Hofer [Wed, 16 Dec 2020 14:35:58 +0000 (15:35 +0100)]
Sort stable versions in pkgindex (#46135)
Adam Sitnik [Wed, 16 Dec 2020 14:27:18 +0000 (15:27 +0100)]
Add a few tests for Env Vars edge cases (#46039)
Maxim Lipnin [Wed, 16 Dec 2020 13:31:10 +0000 (16:31 +0300)]
Use MonoProjectRoot in the Mono sample project references (#46129)
dotnet-maestro[bot] [Wed, 16 Dec 2020 13:19:12 +0000 (14:19 +0100)]
[master] Update dependencies from dotnet/runtime (#45387)
* Update dependencies from https://github.com/dotnet/runtime build
20201130.7
runtime.native.System.IO.Ports , Microsoft.NETCore.ILAsm , Microsoft.NET.Sdk.IL , Microsoft.NETCore.DotNetHost , Microsoft.NETCore.DotNetHostPolicy , System.Text.Json
From Version 5.0.0-alpha.1.19563.3 -> To Version 6.0.0-alpha.1.20580.7
* Update dependencies from https://github.com/dotnet/runtime build
20201201.3
runtime.native.System.IO.Ports , Microsoft.NETCore.ILAsm , Microsoft.NET.Sdk.IL , Microsoft.NETCore.DotNetHost , Microsoft.NETCore.DotNetHostPolicy , System.Text.Json
From Version 5.0.0-alpha.1.19563.3 -> To Version 6.0.0-alpha.1.20601.3
* Replace obsoleted json serializer option
'JsonSerializerOptions.IgnoreNullValues' is obsolete: 'To ignore null values when serializing, set DefaultIgnoreCondition to JsonIgnoreCondition.WhenWritingNull.'
* Update dependencies from https://github.com/dotnet/runtime build
20201202.2
runtime.native.System.IO.Ports , Microsoft.NET.Sdk.IL , Microsoft.NETCore.DotNetHost , Microsoft.NETCore.DotNetHostPolicy , Microsoft.NETCore.ILAsm , System.Text.Json
From Version 5.0.0-alpha.1.19563.3 -> To Version 6.0.0-alpha.1.20602.2
* Update dependencies from https://github.com/dotnet/runtime build
20201203.3
runtime.native.System.IO.Ports , Microsoft.NETCore.ILAsm , Microsoft.NET.Sdk.IL , Microsoft.NETCore.DotNetHost , Microsoft.NETCore.DotNetHostPolicy , System.Text.Json
From Version 5.0.0-alpha.1.19563.3 -> To Version 6.0.0-alpha.1.20603.3
* Use PDFMT=PORTABLE option for ilproj
* Update dependencies from https://github.com/dotnet/runtime build
20201203.13
runtime.native.System.IO.Ports , Microsoft.NETCore.ILAsm , Microsoft.NET.Sdk.IL , Microsoft.NETCore.DotNetHost , Microsoft.NETCore.DotNetHostPolicy , System.Text.Json
From Version 5.0.0-alpha.1.19563.3 -> To Version 6.0.0-alpha.1.20603.13
* Update dependencies from https://github.com/dotnet/runtime build
20201204.10
runtime.native.System.IO.Ports , Microsoft.NETCore.ILAsm , Microsoft.NET.Sdk.IL , Microsoft.NETCore.DotNetHost , Microsoft.NETCore.DotNetHostPolicy , System.Text.Json
From Version 5.0.0-alpha.1.19563.3 -> To Version 6.0.0-alpha.1.20604.10
* Update dependencies from https://github.com/dotnet/runtime build
20201205.2
runtime.native.System.IO.Ports , Microsoft.NETCore.ILAsm , Microsoft.NET.Sdk.IL , Microsoft.NETCore.DotNetHost , Microsoft.NETCore.DotNetHostPolicy , System.Text.Json
From Version 5.0.0-alpha.1.19563.3 -> To Version 6.0.0-alpha.1.20605.2
* Update dependencies from https://github.com/dotnet/runtime build
20201206.6
runtime.native.System.IO.Ports , Microsoft.NETCore.ILAsm , Microsoft.NET.Sdk.IL , Microsoft.NETCore.DotNetHost , Microsoft.NETCore.DotNetHostPolicy , System.Text.Json
From Version 5.0.0-alpha.1.19563.3 -> To Version 6.0.0-alpha.1.20606.6
* Update dependencies from https://github.com/dotnet/runtime build
20201208.2
runtime.native.System.IO.Ports , Microsoft.NETCore.ILAsm , Microsoft.NETCore.DotNetHostPolicy , Microsoft.NET.Sdk.IL , Microsoft.NETCore.DotNetHost , System.Text.Json
From Version 5.0.0-alpha.1.19563.3 -> To Version 6.0.0-alpha.1.20608.2
* Update dependencies from https://github.com/dotnet/runtime build
20201209.2
runtime.native.System.IO.Ports , Microsoft.NETCore.ILAsm , Microsoft.NETCore.DotNetHostPolicy , Microsoft.NET.Sdk.IL , Microsoft.NETCore.DotNetHost , System.Text.Json
From Version 5.0.0-alpha.1.19563.3 -> To Version 6.0.0-alpha.1.20609.2
* Update dependencies from https://github.com/dotnet/runtime build
20201209.15
runtime.native.System.IO.Ports , Microsoft.NETCore.ILAsm , Microsoft.NETCore.DotNetHostPolicy , Microsoft.NET.Sdk.IL , Microsoft.NETCore.DotNetHost , System.Text.Json
From Version 5.0.0-alpha.1.19563.3 -> To Version 6.0.0-alpha.1.20609.15
* Add workaround for #45908
* Update dependencies from https://github.com/dotnet/runtime build
20201211.2
runtime.native.System.IO.Ports , Microsoft.NETCore.ILAsm , Microsoft.NETCore.DotNetHostPolicy , Microsoft.NET.Sdk.IL , Microsoft.NETCore.DotNetHost , System.Text.Json
From Version 5.0.0-alpha.1.19563.3 -> To Version 6.0.0-alpha.1.20611.2
* Update dependencies from https://github.com/dotnet/runtime build
20201211.23
runtime.native.System.IO.Ports , Microsoft.NETCore.ILAsm , Microsoft.NETCore.DotNetHostPolicy , Microsoft.NET.Sdk.IL , Microsoft.NETCore.DotNetHost , System.Text.Json
From Version 5.0.0-alpha.1.19563.3 -> To Version 6.0.0-alpha.1.20611.23
* Update dependencies from https://github.com/dotnet/runtime build
20201212.4
runtime.native.System.IO.Ports , Microsoft.NETCore.ILAsm , Microsoft.NETCore.DotNetHostPolicy , Microsoft.NET.Sdk.IL , Microsoft.NETCore.DotNetHost , System.Text.Json
From Version 5.0.0-alpha.1.19563.3 -> To Version 6.0.0-alpha.1.20612.4
* Update versions
* Remove PDBFMT option
* Apply ilasm .locals workaround for more files
See https://github.com/dotnet/runtime/issues/45908
* Revert "Apply ilasm .locals workaround for more files"
This reverts commit
54eb3ee53970b430b87ea2044475a2bbc872f20f.
* Revert "Add workaround for #45908"
This reverts commit
290631058301fc791d261395f436b3b875a003ca.
* Update versions
* Disable tests that fail on Mono due to https://github.com/dotnet/runtime/issues/46124
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
Alex Perovich [Wed, 16 Dec 2020 11:10:10 +0000 (03:10 -0800)]
Fix cross compiling linux managed assemblies on windows (#45975)
* Fix cross compiling linux managed assemblies on windows
This is needed to fix the source index.
* More targeted fix
* Update Configurations.props
Co-authored-by: Viktor Hofer <viktor.hofer@microsoft.com>
Maxim Lipnin [Wed, 16 Dec 2020 10:03:58 +0000 (13:03 +0300)]
Run wasm console sample on Helix (#45768)
- Included the WASM console sample project to the library test build. The sample can still be built/run locally using make file.
- Added zipping/copying the sample application to helix directory from where it can be consumed by CI.
- To run on Helix, tried to use a simple helix work item which wouldn't rely on generated RunTests.sh and just call the xharness command directly.
Relates to https://github.com/dotnet/runtime/issues/43865
Jan Kotas [Wed, 16 Dec 2020 09:46:42 +0000 (01:46 -0800)]
Misc fixes from runtimelab:NativeAOT (#46112)
Aleksey Kliger (λgeek) [Wed, 16 Dec 2020 07:42:02 +0000 (02:42 -0500)]
[mono] Make HelloWorld and wasm samples compile again (#46113)
* [mono] Make HelloWorld sample compile again
Since
296aaf818ec02101226845aea39ca14d32519cf2 it seems we need
`$(NetCoreAppToolCurrent)` as the `TargetFramework`
* Also fixup wasm samples
Koundinya Veluri [Wed, 16 Dec 2020 06:50:12 +0000 (22:50 -0800)]
Make the native thread pool initialization variable volatile (#46115)
- Necessary on arm32/arm64 such that if `IsInitialized()` returns true, initialized variables will also be observed correctly
- Fixes https://github.com/dotnet/runtime/issues/46084
Bruce Forstall [Wed, 16 Dec 2020 06:42:27 +0000 (22:42 -0800)]
Fix format of JIT-EE version GUID (#46116)
Eric Erhardt [Wed, 16 Dec 2020 03:33:00 +0000 (21:33 -0600)]
Fix remaining ILLink warnings in System.Reflection (#45984)
* Add RequiresUnreferencedCode to Delegate constructors
Contributes to #45623
* Add RequiresUnreferencedCode to some internal Reflection methods to address ILLink warnings.
* Address remaining ILLink warnings in Reflection.Emit.
* Respond to PR feedback
Annotate Delegate.BindToMethod with DynamicallyAccessedMembers
Fix up requires unreferenced code comments
* Update API Compat txt for Delegate.CreateDelegate attribute removal
* Fix Mono ILLink warnings
Anirudh Agnihotry [Wed, 16 Dec 2020 03:31:50 +0000 (19:31 -0800)]
use pack on csproj to build the packages (#45564)
* use pack on csproj to build the packages
* having projectreferences available during project evaluation and then having pack task handling is project isPackable or not
* default target as pack
* using default sdk tags and adding missing ilproj
* exclude shproj
* Do not use a recursive regex
* add csproj for projects with no build output
* adding comments about purpose of wrapper projects
Santiago Fernandez Madero [Wed, 16 Dec 2020 02:03:50 +0000 (18:03 -0800)]
Add another way to re-trigger pipelines in PR.
Ankit Jain [Wed, 16 Dec 2020 00:51:10 +0000 (19:51 -0500)]
[wasm][tests] Exit the script if `WasmTestRunner` build fails (#46048)
* [wasm][tests] Exit the script if `WasmTestRunner` build fails
If building the `WasmTestRunner.proj` on helix fails, then the error
gets ignored, and script execution continues. And that results in the
failure to be shown as:
```
/home/helixbot/work/
9CE408BA/w/
BF5C0A02/e/JIT/Methodical/eh/interactions/throw1dimarray_d/throw1dimarray_d.sh: line 136: cd: WasmApp: No such file or directory
/home/helixbot/work/
9CE408BA/w/
BF5C0A02/e/JIT/Methodical/eh/interactions/throw1dimarray_d/throw1dimarray_d.sh: line 137: ./run-v8.sh: No such file or directory
```
.. which is misleading. Looking at the execution log shows that the real error was:
```
Microsoft (R) Build Engine version 16.8.0+
126527ff1 for .NET
Copyright (C) Microsoft Corporation. All rights reserved.
AppDir: /home/helixbot/work/
9CE408BA/w/
BF5C0A02/e/JIT/Methodical/eh/interactions/throw1dimarray_d/WasmApp/
TestBinDir: /home/helixbot/work/
9CE408BA/w/
BF5C0A02/e/JIT/Methodical/eh/interactions/throw1dimarray_d
ArtifactsBinDir:
/home/helixbot/work/
9CE408BA/p/build/WasmApp.targets(11,5): error : Failed to load assembly reference 'System.Windows.Forms, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' for 'Except, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null': Could not find assembly 'System.Windows.Forms, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'. Either explicitly load this assembly using a method such as LoadFromAssemblyPath() or use a MetadataAssemblyResolver that returns a valid assembly. [/home/helixbot/work/
9CE408BA/p/wasm-test-runner/WasmTestRunner.proj]
```
So, exit the script if the build fails.
* [wasm] Support RunOnly tests with wasm
Some test projects have `<CLRTestKind>RunOnly</CLRTestKind>`, eg.
`GitHub_26491_SingleReturnSynchronized`. In this particular project, it
doesn't have it own code/assembly, and just runs another assembly.
But the default script generated for the test adds the build command for
`WasmTestRunner.proj`, which fails here because there is no assembly to
bundle!
This manifested for
`JIT/Regression/JitBlue/GitHub_26491/GitHub_26491_SingleReturnSynchronized/GitHub_26491_SingleReturnSynchronized.sh` as:
```
BEGIN EXECUTION
Microsoft (R) Build Engine version 16.8.0+
126527ff1 for .NET
Copyright (C) Microsoft Corporation. All rights reserved.
AppDir: /home/helixbot/work/
AA96097C/w/
9CC508B9/e/JIT/Regression/JitBlue/GitHub_26491/GitHub_26491_SingleReturnSynchronized/WasmApp/
TestBinDir: /home/helixbot/work/
AA96097C/w/
9CC508B9/e/JIT/Regression/JitBlue/GitHub_26491/GitHub_26491_SingleReturnSynchronized
ArtifactsBinDir:
/home/helixbot/work/
AA96097C/p/build/WasmApp.targets(11,5): error : Could not find assembly '/home/helixbot/work/
AA96097C/w/
9CC508B9/e/JIT/Regression/JitBlue/GitHub_26491/GitHub_26491_SingleReturnSynchronized/GitHub_26491_SingleReturnSynchronized.dll' [/home/helixbot/work/
AA96097C/p/wasm-test-runner/WasmTestRunner.proj]
Test Harness Exitcode is : 1
```
This *test* wasn't failing earlier, because the build command would
fail, but the script continued execution. And the subsequent shell
script worked as expected. But now we exit if the build command fails,
causing the whole test to fail!
Solution: Honor `$(CLRTestKind) == RunOnly`, and don't emit the build
command in that case.
* Just to give this more context:
this was for `src/tests/JIT/Regression/JitBlue/GitHub_2649`
it has two projects:
A: `GitHub_26491_MultipleReturns.ilproj`
B: `GitHub_26491_SingleReturnSynchronized.ilproj`
Project A produces the test assembly. And we generate a wasm app for that.
Project B is just meant to run Project A's assembly. It does not need it's own wasm app. That's why it has
`<CLRTestKind>RunOnly</CLRTestKind>`
So, as the fix, we add the build WasmTestRunner.proj command to the generated shell script only if `CLRTestKind==BuildAndRun`.
Jeremy Koritzinsky [Wed, 16 Dec 2020 00:38:51 +0000 (16:38 -0800)]
Remove extraneous UsingTask (#46097)
We no longer use the CopyNupkgAndChangeVersion task, so we can remove it.
Jan Kotas [Wed, 16 Dec 2020 00:07:34 +0000 (16:07 -0800)]
Fix MethodDesc validation for FCalls (#45998)
Koundinya Veluri [Tue, 15 Dec 2020 23:06:20 +0000 (15:06 -0800)]
Follow-up fix for some PAL tests that compare sleep/wait times from one thread to another (#46060)
Follow-up fix for some PAL tests that compare sleep/wait times from one thread to another
Follow-up fix to https://github.com/dotnet/runtime/pull/45948, need to reset the global variable before creating the thread, as the test runs more than once
Jeremy Koritzinsky [Tue, 15 Dec 2020 21:48:24 +0000 (13:48 -0800)]
Fix building the crossdacs with ninja. (#46089)
Sung Yoon Whang [Tue, 15 Dec 2020 21:47:27 +0000 (13:47 -0800)]
Fix assert in SampleProfiler enabling on startup (#46045)
Jan Kotas [Tue, 15 Dec 2020 21:28:05 +0000 (13:28 -0800)]
Fix ilasm crash on empty local variable name (#46080)
Fixes #45908
Tom Deseyn [Tue, 15 Dec 2020 21:04:37 +0000 (22:04 +0100)]
SocketAsyncContext.Unix: fix double processing of AsyncOperations (#45683)
* SocketAsyncContext.Unix: fix double processing of AsyncOperations
When a socket event occurs, the pending operations gets triggered
to continue their work by calling the Process method.
The changes in https://github.com/dotnet/runtime/pull/37974
cause Process to be called twice on the same AsyncOperation.
When Process is called, the operation can complete, and the
AsyncOperation instance may be reused for a different operation.
* Remove processAsyncEvents
Ove Bastiansen [Tue, 15 Dec 2020 18:57:52 +0000 (19:57 +0100)]
adding null check on provider registration (#46002)
fix #45599
Kunal Pathak [Tue, 15 Dec 2020 18:47:35 +0000 (10:47 -0800)]
Enable crossgen SPMI collection for libraries (#46058)
* Better printing of files getting copied
* Exclude Core_Root folder for tests collection
* Perform libraries collection using crossgen
Eric StJohn [Tue, 15 Dec 2020 17:33:01 +0000 (09:33 -0800)]
Make EventLog work without .NETFramework (#45884)
* Make EventLog work without .NETFramework
* Use a project file instead of targets to create message DLL
* Add EventLogMessagesTests
* Address feedback
* Exclude EventLogMessage tests on net48
* Apply code review feedback
Also fix one test which would fail on machine without .NETFramework.
* Fix HelpLink test
Johan Lorensson [Tue, 15 Dec 2020 07:49:56 +0000 (08:49 +0100)]
Implementation of full EventPipeDiagnosticServer C library CoreClr shim. (#45354)
Break out build of eventpipe library into vm/eventing/eventpipe
(both for C++ as well as C library).
Introduce ability to build CoreClr with C++ or C version of
EventPipe/DiagnosticServer library. Beneficial during transition
to have both library useable, C++ library is still default,
but new cmake feature FEATURE_PERFTRACING_C_LIB can be defined
in order to build and use C library instead of C++ version.
Due to restrictions around standard headers in CoreClr,
moved out C library IPC PAL into debug_pal
(where C++ library has its IPC PAL). This unfortunately came
with some additional needed changes since library had dependencies
against runtime, so needed to make PAL sources independent of
majority of EventPipe library. Added same feature as for
EventPipe/DiagnosticServer library, possible to build debug_pal
with C or C++ IPC PAL sources.
Complemented a couple of CoreClr types with NoThrow methods
so they could be used in shim containers without need for
try/catch, CQuickArray::PushNoThrow, SHash::AddNoThrow.
Missing strtoull on non Windows, add PAL_strtoull
into PAL (PAL already included UTF16 version of the same functionality).
Jeremy Koritzinsky [Tue, 15 Dec 2020 06:26:30 +0000 (22:26 -0800)]
Enable non-blittable struct returns on UnmanagedCallersOnly (#45625)
* Allow non-primitive struct returns to not require a stub. Fixes #35928.
* Support propagating the UnmanagedCallersOnly calling convention to the JIT. Block UnmanagedCallersOnly in crossgen1 since the attribute parsing code isn't included.
* Support passing through the calling convention for UnmanagedCallersOnly in crossgen2
* Fix clang errors.
* Fix stack calculation.
* Fix usings
* Clean up jitinterface.
* Remove invalid assert.
* Fix up stdcall name mangling lookup.
* Fix flag condition.
* Use the register var type when copying from the register to the stack.
* Change flag check for readability.
* Rename variables to remove shadowing.
* Fix formatting.
* Create new getEntryPointCallConv method on the EE-JIT interface to handle all calling convention resolution and support extensible calling conventions.
* Remove unreachable code.
* Remove now unused getUnmanagedCallConv jitinterface method (replaced by getEntryPointCallConv).
* Fix formatting.
* Rename getEntryPointCallConv and only call it with a method when it's a P/Invoke or Reverse P/Invoke.
* Pass SuppressGCTransition through the getUnmanagedCallConv JIT-EE interface API.
* Refactor callconv handling so we can handle reverse P/Invokes with the callconv in the signature (and not in an UnmanagedCallersOnly attribute).
* Clean up whitespace.
* Pass MethodIL as the scope for the signature to enable propagating down annotations for calli's in P/Invokes.
* Remove usages of CORINFO_CALLCONV_FOO where FOO is an unmanaged callconv. move the definitions of those ones to the interpreter since that's the only place they're used.
* SuppressGC cleanup.
* Rename superpmi struct
* Add default condition to make clang happy.
* change enums to make clang happy.
* Remove CORINFO_CALLCONV_C and family from interpreter.
* Fix up handling of managed function pointers and remove invalid assert.
* Continue to use sigflag for suppressgc workaround.
* Clean up comment wording.
Signed-off-by: Jeremy Koritzinsky <jekoritz@microsoft.com>
* Remove more MethodIL passing we don't need any more
* Update src/coreclr/tools/Common/JitInterface/CorInfoImpl.cs
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
* Fix SigTypeContext creation.
* Pass context by ptr.
* Fix formatting.
* Clear the Reverse P/Invoke flag when compiling inlinees. It's only needed on the entry-point functions.
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
Bruce Forstall [Tue, 15 Dec 2020 03:37:27 +0000 (19:37 -0800)]
Fix GC vars dump at call sites for arm/arm64 (#46056)
Dan Moseley [Tue, 15 Dec 2020 03:20:09 +0000 (19:20 -0800)]
Enable File.Copy to EXFAT volumes when not running as root (#46027)
* Allow File.Copy to succeed when futimens fails with EPERM
* Manual test
* Update pal_io.c
Werner Mairl [Tue, 15 Dec 2020 02:16:09 +0000 (03:16 +0100)]
PR: Add test code coverage for Host.StopAsync (#40875)
* Add test code coverage for Host.StopAsync
Verifies StopAsync() doesn't throw CanceledException given a canceled token
Fix #40700
* implement using/dispose for hosts inside tests
Levi Broderick [Tue, 15 Dec 2020 01:01:29 +0000 (17:01 -0800)]
Fix bad case-insensitive ASCII equality check (#45928)
Tomáš Rylek [Mon, 14 Dec 2020 23:56:53 +0000 (00:56 +0100)]
Fix previously overlooked path to pgocheck.py (src/coreclr/src) (#46019)
Looking around the script I also noticed that __SourceDir
is not used anymore so I removed it.
Thanks
Tomas
Anirudh Agnihotry [Mon, 14 Dec 2020 22:40:50 +0000 (14:40 -0800)]
Updating darc dependencies and enabling closure (#45781)
* automatic version updates
* coreclr projects retargets to net5.0
* Removing manual addition of knownFrameworkReference
* disavling implicit references for sfx projects
* mono changes
* enable package testing
* installer changes
* installer tests ref pack changes
* remove the known framework reference for unit tests
Co-authored-by: Jeremy Koritzinsky <jkoritzinsky@gmail.com>
* TestInfraTargetFramework -> to net5.0
* set netcoremaxversion property for test utils
* retargeting mono sample apps to net5.0
Co-authored-by: Jeremy Koritzinsky <jkoritzinsky@gmail.com>
Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
Buyaa [Mon, 14 Dec 2020 22:31:44 +0000 (14:31 -0800)]
Enable Supported attributes from sdk for non browser build, fix related warnings (#45504)
Ankit Jain [Mon, 14 Dec 2020 22:13:38 +0000 (17:13 -0500)]
[wasm] Move Wasm app building targets to new WasmApp.targets (#45977)
* [wasm] Don't quote multiple msbuild args
Else it ends up in the command line as:
`dotnet build foo.proj "/p:TargetOS=Browser /p:Configuration=Release"`
instead of
`dotnet build foo.proj /p:TargetOS=Browser /p:Configuration=Release`
* [wasm] Fix the name for MicrosoftNetCoreAppRuntimePackRidDir
We have `MicrosoftNetCoreAppRuntimePackDir=artifacts/bin/microsoft.netcore.app.runtime.browser-wasm/Release/`
.. and `MicrosoftNetCoreAppRuntimePack*Rid*Dir` as `$(MicrosoftNetCoreAppRuntimePackDir)/runtimes/browser-wasm/`.
But the wasm samples, and debugger test project files mixed up the
naming, though with correct paths. The following commit will move the
wasm build stuff to a single file, and this change will be useful to
have uniform, and correct naming.
* [wasm] Add new `WasmApp.targets`
Move the uses of `WasmAppBuilder`, and
`WasmLoadAssembliesAndReferences` tasks to a single targets file -
`src/mono/wasm/build/WasmApp.targets`.
- Any project that wants to use that, can import the file, and set up the
various properties before the target `WasmBuildApp` gets executed.
- `WasmBuildApp` is not run by default. The importing project will have
to do that.
- By default, the `WasmLoadAssembliesAndReferences` task is not run, and
the specified `@(WasmAssembliesToBundle)` are directly passed to
`WasmAppBuilder`.
- If the project needs assembly dependencies to be resolved, then
set `$(WasmResolveAssembliesBeforeBuild) == true`.
- Assemblies to be bundled with the app are set via
`@(WasmAssembliesToBundle)` (which optionally will have dependencies
resolved)
The various task inputs correspond to properties as:
```
AssemblySearchPaths : @(WasmAssemblySearchPaths)
Assemblies : @(WasmAssembliesToBundle)
AppDir : $(WasmAppDir)
MicrosoftNetCoreAppRuntimePackDir : $(MicrosoftNetCoreAppRuntimePackRidDir)
MainAssembly : $(WasmMainAssemblyPath)
MainJS : $(WasmMainJSPath)
InvariantGlobalization : $(WasmInvariantGlobalization)
SatelliteAssemblies : @(WasmSatelliteAssemblies)
FilesToIncludeInFileSystem : @(WasmFilesToIncludeInFileSystem)
DebugLevel : $(WasmDebugLevel)
```
This should be a step towards eventually having this build as a sdk.
* [wasm] Use the correct assembly path property
* Check for TargetOS==Browser
* Pass remaining WasmAppBuilder args - IcuDataFileName, and RemoteSources
* WasmAppBuilder: don't emit run-v8.sh in the task
* WasmTestRunner: use the new WasmApp.targets
* Include WasmMainAssemblyPath for dependency resolution, by default
* Remove unused run-v8.sh generation
* Add back run-v8.sh for console sample, WasmTestRunner, and lib tests
* WasmApp.targets: Use a default path for run-v8.sh
.. and control it's generation through `$(WasmGenerateRunV8Script)`
* run-v8.sh: use only the filename on the command line
* update README.md
* [wasm] Make the wasm targets conditional on `TargetOS==Browser`
.. instead of conditionally importing `WasmApp.targets`. This allows
other targets to depend on wasm targets, and execute only if it makes
sense.
Based on @lewing's feedback.
* [wasm][tests] fix check for when to generate run-v8.sh
* WasmTestRunner.proj: fix typo
* [wasm] Always generate the run-v8.sh script, for browser runs
The `Scenario==WasmTestOnBrowser` seems to fail for JIT tests, which
don't use the browser.
* [wasm] Fix tests
The real issue seems to be that the helix bundle doesn't have
`WasmApp.targets`. Fixing that, which should hopefully fix the tests!
* [wasm] Another attempt at fixing the tests
Mimic earlier behavior of having a `BundleTestWasmApp`, and making it
conditional on `TargetOS == Browser`.
* fix property reference
* [wasm] skip missing assemblies for the jit tests, same as the original code
Jeremy Koritzinsky [Mon, 14 Dec 2020 21:21:32 +0000 (13:21 -0800)]
Use netfxreference.props to provide the shims for the platform manifest. (#45573)
* Use netfxreference.props to provide the shims for the platform manifest.
* PR feedback.
David Wrighton [Mon, 14 Dec 2020 20:47:32 +0000 (12:47 -0800)]
Auto-generate all C++ header overrides of the entire jit interface (#45920)
* Auto-generate all C++ header overrides of the entire jit interface
- This reduces the amount of manual change required when updating the jit interface to just implementation changes
- Will cause compile errors if any api is removed from the interface, but not removed from various implementations
* Consistently specify override on the jit ee interface header
- Satisfies warnings on clang
Fan Yang [Mon, 14 Dec 2020 20:39:06 +0000 (15:39 -0500)]
Update testing.md (#46043)
skipstressdependencies switch was removed from the runtime tests build script.
LateApexEarlySpeed [Mon, 14 Dec 2020 16:15:59 +0000 (00:15 +0800)]
Create more informational assert collection log for FunctionalTests o… (#44350)
Egor Bogatov [Mon, 14 Dec 2020 12:31:52 +0000 (15:31 +0300)]
[mono] Fix race condition in Utils + remove duplicated code (#46029)
dotnet-maestro[bot] [Mon, 14 Dec 2020 11:29:08 +0000 (12:29 +0100)]
[master] Update dependencies from mono/linker (#45926)
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Miha Zupan [Mon, 14 Dec 2020 11:17:24 +0000 (12:17 +0100)]
Disable tests for 43931 and 46030 (#46031)
* Disable tests for 43931 and 46030
* Add [ActiveIssue] in comment
Miha Zupan [Mon, 14 Dec 2020 11:01:12 +0000 (12:01 +0100)]
Optimize percent-encoded UTF8 processing in Uri (#32552)
* Optimize percent-encoded UTF8 processing in Uri
* Rename charsConsumed to bytesConsumed
* Use ValueStringBuilder Append(char*, int) instead of Append(ROS<char>)
* Add tests for PercentEncodingHelper
* Use string literals instead of char.ConvertFromUtf32
* Use sizeof(uint) instead of 4
* Add missing license headers
* Improve codegen by using temporary local copy
* Correct Debug asserts
* Add ValueStringBuilder.Append(Rune)
* Improve hex decoding throughput
* Move VSB.Append(Rune) to a Uri-specific partial VSB file
* Add missing csproj link
* Add more comments documenting PercentEncodingHelper's logic
* Fix rebase conflicts
* Address PR feedback
John Call [Mon, 14 Dec 2020 10:56:01 +0000 (02:56 -0800)]
SortedDictionary Copy optimization (#45659)
* Sorted Dictionary Copy optimization
* Update src/libraries/System.Collections/src/System/Collections/Generic/SortedDictionary.cs
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
* Feedback
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
xtqqczze [Mon, 14 Dec 2020 01:46:25 +0000 (01:46 +0000)]
Remove nonsensical comments about fixed statement (#46013)
dotnet-maestro[bot] [Sun, 13 Dec 2020 23:59:00 +0000 (15:59 -0800)]
Update dependencies from https://github.com/dotnet/arcade build
20201210.4 (#46004)
Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk , Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.GenAPI , Microsoft.DotNet.GenFacades , Microsoft.DotNet.XUnitExtensions , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.SharedFramework.Sdk , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.ApiCompat
From Version 6.0.0-beta.20609.9 -> To Version 6.0.0-beta.20610.4
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Jan Kotas [Sun, 13 Dec 2020 20:05:48 +0000 (12:05 -0800)]
Fix FC_NO_TAILCALL with newer compilers (#45999)
The C11 standard treats trivial infinite loops as undefined behavior and allows
compilers to optimize them out completely.
Add "volatile" on FC_NO_TAILCALL to defeat this optimization
monojenkins [Sun, 13 Dec 2020 07:47:18 +0000 (02:47 -0500)]
[aot] Quote the -Wl,install_name argument to clang. (#46000)
Fixes https://github.com/mono/mono/issues/20606.
Co-authored-by: vargaz <vargaz@users.noreply.github.com>
Steve MacLean [Sat, 12 Dec 2020 22:23:29 +0000 (17:23 -0500)]
Fix macos DAC & DBI search dependency paths (#45978)
* Fix macos DAC & DBI search dependency paths
* Only apply changes to macos-arm64
Bruce Forstall [Sat, 12 Dec 2020 20:52:27 +0000 (12:52 -0800)]
superpmi.py: Add support for easily collecting crossgen of assemblies (#45996)
Add a new `--crossgen` option to `collect` that will do a SuperPMI
collection by invoking crossgen on the set of assemblies specified
by the `-assemblies` argument.
Renamed the `-pmi_assemblies` argument to `-assemblies` so it can be
used by both `--pmi` and the new `--crossgen` option.
You can use both `--pmi` and `--crossgen` to collect both a PMI
and crossgen run across the same set of assemblies.
Bruce Forstall [Sat, 12 Dec 2020 20:50:14 +0000 (12:50 -0800)]
Remove superpmi.py asmdiff view with VS Code options (#45993)
The superpmi.py asmdiffs code is complicated by the existence of
various options to invoke VS Code to view diffs. Remove these options
(which I believe are unused, and shouldn't be in this location anyway)
and simplify the code.
Bruce Forstall [Sat, 12 Dec 2020 20:46:56 +0000 (12:46 -0800)]
Add a GC info option to superpmi.py asm diffs (#45992)
Add `--gcinfo` to an `asmdiffs` command to get asm diffs with GC
info dumped via the `COMPlus_JitGCDump` / `COMPlus_NgenGCDump` variables.
Improved the output of dasm/dump locations if there are no seen diffs.
xtqqczze [Sat, 12 Dec 2020 15:11:58 +0000 (15:11 +0000)]
Use C# 7.3 pattern-based fixed statement (#45969)
Documentation for `ValueStringBuilder.GetPinnableReference()` suggests using pattern-matching instead of the explicit method call.
Ankit Jain [Sat, 12 Dec 2020 04:07:02 +0000 (23:07 -0500)]
[wasm] provision-wasm: always install the "official" version (#45990)
if `EMSDK_PATH` was unset, or set to the default path, then
`provision-wasm` target would become a no-op. Instead, always install it
to the default path.
It can be useful to have the official version available, even if you
have a different one installed, so you can do comparisons etc. - Zoltan
Andy Ayers [Sat, 12 Dec 2020 01:40:11 +0000 (17:40 -0800)]
JIT: consistently mark method table accesses as invariant (#45854)
Introduce a new utility method to create the IR for method table access,
marking the resulting indir as invariant. This allows method table access
CSEs (which will be increasingly common with the advent of PGO-enabled
Guarded Devirtualization).
Add a workaround to assertion prop for method table to be able to see
through a CSE'd method table access.
Remove a few optimizer inhibitions related to colon cond.
Jan Kotas [Sat, 12 Dec 2020 01:22:23 +0000 (17:22 -0800)]
Delete non-supported handling of Windows-specific PDBs in ilasm (#45979)
I do not expect we will ever add the classic PDB support back in ilasm.
Fixes #45492