Stephen Toub [Sun, 9 Feb 2020 15:15:07 +0000 (10:15 -0500)]
Delete [SuppressMessage(...)] attributes for old/defunct/unused rules (#31966)
Jan Kotas [Sun, 9 Feb 2020 12:03:08 +0000 (04:03 -0800)]
Make EqualityComparer thread-safe for Mono (#31990)
* Make EqualityComparer thread-safe for Mono
Fixes #3009
Fixes #31988
* Use Interlocked.CompareExchange
monojenkins [Sun, 9 Feb 2020 10:27:34 +0000 (05:27 -0500)]
[cxx] Fix C++ build -- int vs. enum. (#31837)
Co-authored-by: Jay Krell <jay.krell@cornell.edu>
Next Turn [Sun, 9 Feb 2020 06:39:39 +0000 (14:39 +0800)]
Fix assembly references in tests (#31986)
* Fix build warnings
* Reference System.Runtime instead of System.Private.CoreLib
* Change to System.Console
* Update C# script
Next Turn [Sun, 9 Feb 2020 05:17:43 +0000 (13:17 +0800)]
Remove BOM from CoreCLR files (#31972)
* Remove BOM from CoreCLR files
* Remove BOM from CoreCLR files
* Revert *.cs files with non-ASCII characters
* Revert *.il files with non-ASCII characters
Co-authored-by: dotnet bot <dotnet-bot@dotnetfoundation.org>
Ganbarukamo41 [Sun, 9 Feb 2020 05:00:30 +0000 (14:00 +0900)]
Update windows-test-instructions.md (#31989)
Update old file path
Stephen Toub [Sun, 9 Feb 2020 01:01:59 +0000 (20:01 -0500)]
Enable CA1827 (use Any() instead of Count() compared to 0) (#31983)
Stephen Toub [Sun, 9 Feb 2020 00:26:26 +0000 (19:26 -0500)]
Update to latest version of analyzer packages (#31982)
Oded Hanson [Sat, 8 Feb 2020 23:12:05 +0000 (01:12 +0200)]
Free memory for outItems array (#31937)
Anirudh Agnihotry [Sat, 8 Feb 2020 20:53:41 +0000 (12:53 -0800)]
make vbproj work (#31950)
Dan Moseley [Sat, 8 Feb 2020 20:20:38 +0000 (12:20 -0800)]
Old repo issue number mapped to new repo issue number (#31981)
* Old repo issue number mapped to new repo issue number
* add explanation
Stephen Toub [Sat, 8 Feb 2020 13:52:12 +0000 (08:52 -0500)]
Use IndexOf for .* in RegexInterpreter/Compiler (#31930)
* Clean up RegexInterpreter
Almost entirely style. A few substantive but small changes:
- Store the TextInfo rather than storing the CultureInfo and accessing the TextInfo virtual property on each call.
- Removed unnecessary resx string that should have been an assert
- Coalesced duplicate case blocks
* Use IndexOf for Notoneloop{atomic} in RegexInterpreter/Compiler
This is primarily to improve the performance of .* loops. We'll now use Span.IndexOf to search for the target character (e.g. \n), rather than the open-coded loop we currently have.
* Address PR feedback
Maxim Lipnin [Sat, 8 Feb 2020 13:47:52 +0000 (16:47 +0300)]
[mono] Review [SkipOnTargetFramework(TargetFrameworkMonikers.Mono...] occurrences (#31920)
* Review test attributes
* Disable System.Threading.Tests.SynchronizationContextTests.WaitNotificationTest with an active issue
Maoni Stephens [Sat, 8 Feb 2020 09:12:16 +0000 (01:12 -0800)]
String Deduplication Design Doc (#31971)
Next Turn [Sat, 8 Feb 2020 06:45:14 +0000 (14:45 +0800)]
Fix build warnings (#31863)
Next Turn [Sat, 8 Feb 2020 06:43:21 +0000 (14:43 +0800)]
Update docs to use the main build script (#31644)
Steve MacLean [Sat, 8 Feb 2020 01:36:33 +0000 (20:36 -0500)]
Add T_CRITICAL_SECTION for cross OS DAC compile (#31908)
* T_CRITICAL_SECTION for DAC
Add T_CRITICAL_SECTION as a cross OS version of CRITICAL_SECTION
Add platform defines for TARGET_<os> as needed.
Add verification code to keep T_CRITICAL_SECTION in sync with CRITICAL_SECTION
* Remove unused CRITICAL_SECTION & PAL_CRITICAL_SECTION fields
Remove LockSemaphore
Place unused field under `#if`
Anirudh Agnihotry [Sat, 8 Feb 2020 01:17:24 +0000 (17:17 -0800)]
Solution Explorer showing netcoreapp5.0-windowsNT file first in case of multiple frameworks (#31948)
* Vy Default show windows targetFramework file in VS
* doing same thing for freebsd Linux netbsd and osx
* missing tag
Stephen Toub [Sat, 8 Feb 2020 01:03:01 +0000 (20:03 -0500)]
Fix nullable annotation for BeginXx AsyncCallback (#31934)
Leandro A. F. Pereira [Sat, 8 Feb 2020 00:29:12 +0000 (16:29 -0800)]
corehost: Build intermediate library to avoid building twice (#2123)
Some files are built twice in the hosting layer, so create two separate
static libraries that are then linked with all targets that need them.
Fixes [core-setup/8276](https://github.com/dotnet/core-setup/issues/8276).
Fadi Hanna [Fri, 7 Feb 2020 23:58:58 +0000 (15:58 -0800)]
Enable generation of deps.json for non-VS builds (#31936)
Marek Safar [Fri, 7 Feb 2020 23:02:23 +0000 (00:02 +0100)]
Clean up more unused methods in System.Private.CoreLib (#31924)
Steve MacLean [Fri, 7 Feb 2020 22:37:26 +0000 (17:37 -0500)]
Fix regression in cross OS DAC compilation (#31901)
Fix DAC cross OS compilations regressions introduced by #31659
Andy Hanson [Fri, 7 Feb 2020 22:30:39 +0000 (17:30 -0500)]
Always fire join events for an rjoin (#651)
Previously, there was an additional check
`if (!join_struct.wait_done)` at the beginning of an rjoin.
This usually had no effect as the join isn't usually done yet. But if
thread A is the first to enter the join and finishes before thread B
starts, then B will never enter the `if`.
The only effect this had was that B would not fire join events in these
rare cases. (After that we check `join_struct.wait_done` again anyway.)
As of this PR we will always fire the events, which makes them easier
to analyze consistently.
Before this PR, looking at the join events for a single thread would show
no traces of the rjoin happening, except for an extra restart event from
the other thread.
Jeremy Koritzinsky [Fri, 7 Feb 2020 21:38:56 +0000 (13:38 -0800)]
Fix using the nopgooptimize flag in the CoreCLR build scripts. (#31931)
* Only try to resolve PGO package path when PGOOptimize is enabled.
* Don't resolve PGO files unless we're optimizing with PGO.
* Only get the PgoDataPackagePath whne PGOOptimize is enabled.
Anirudh Agnihotry [Fri, 7 Feb 2020 21:21:08 +0000 (13:21 -0800)]
Build package baseline package only during all config (#31929)
* build package baseline package only during all config
* deleteing packageBaseline package
Andrew Au [Fri, 7 Feb 2020 19:36:29 +0000 (11:36 -0800)]
Avoid using a spinlock when WeakReference finalization is called by the GC (#2474)
buyaa-n [Fri, 7 Feb 2020 18:38:52 +0000 (10:38 -0800)]
Annotate System.IO.FileSystem.AccessControl for nullable (#31780)
* Annotate System.IO.FileSystem.AccessControl for nullable
* Enabling nullable in ref, removign unneeded bangs
* Remove <Nullable>annotations
* Update formatting
Adeel Mujahid [Fri, 7 Feb 2020 18:37:10 +0000 (20:37 +0200)]
Fix FreeBSD native build (#31865)
Carlos Sanchez Lopez [Fri, 7 Feb 2020 18:33:32 +0000 (10:33 -0800)]
Change corefx to runtime in API Review Process document (#31928)
Elinor Fung [Fri, 7 Feb 2020 18:23:23 +0000 (10:23 -0800)]
Document about possible options for localization (#31824)
buyaa-n [Fri, 7 Feb 2020 18:13:08 +0000 (10:13 -0800)]
Annotate System.IO.IsolatedStorage for nullable (#31835)
* Annotate System.IO.IsolatedStorage for nullable
Andrew Au [Fri, 7 Feb 2020 18:10:17 +0000 (10:10 -0800)]
Clarify what runtime function means (#31925)
Ryan Lucia [Fri, 7 Feb 2020 16:18:40 +0000 (11:18 -0500)]
[loader] Set domain->entry_assembly earlier in startup (#31814)
When locating AppContext.BaseDirectory on netcore, if APP_CONTEXT_BASE_DIRECTORY is not set we call into the runtime for a fallback location, which checks domain->entry_assembly. On legacy this is fine because we set that property in `prepare_thread_to_exec_main`, but on netcore the new managed assembly loading algorithm will call into managed and check the property before that function is run, which will result in AppContext.BaseDirectory returning an empty string. The solution is to set entry_assembly a bit earlier in initialization. This is the appropriate location because it's what embedding API users will call to run an assembly.
In the process, remove some code that would bypass the usual lookup algorithm unnecessarily.
Next Turn [Fri, 7 Feb 2020 16:03:36 +0000 (00:03 +0800)]
Fix encodings (#31907)
Adeel Mujahid [Fri, 7 Feb 2020 15:26:34 +0000 (17:26 +0200)]
Set scan-build in init-compiler (#31915)
`desired_version` lives in `init-compiler.sh`.
Also clear the existing CC and CXX preset by environment to avoid unexpected overriding. (the only way to override compiler tools is using CLR_* vars: CLR_CC, CLR_CXX, CLR_AR and so on)
Alexander Köplinger [Fri, 7 Feb 2020 15:09:36 +0000 (16:09 +0100)]
[System.IO.Compression] Reenable tests that were disabled on Jenkins CI (#31913)
Should work fine on Azure Pipelines.
Stephen Toub [Fri, 7 Feb 2020 11:16:59 +0000 (06:16 -0500)]
Annotate System.Net.WebSockets for nullable reference types (#31875)
Alexander Köplinger [Fri, 7 Feb 2020 10:01:38 +0000 (11:01 +0100)]
Extract detecting CC/CXX into helper script so we can use it from mono.proj (#31854)
* Fix typo in gen-buildsys.sh
compier -> compiler
* Extract detecting CC/CXX into helper script so we can use it from mono.proj
* Rename detect-compiler.sh to init-compiler.sh
Michal Strehovský [Fri, 7 Feb 2020 09:31:11 +0000 (10:31 +0100)]
Revert "Ensure using the given executable path. (dotnet/coreclr#10525)" (#31848)
Reverts dotnet/coreclr#10525.
This broke probing for .ni.exe images. If we run `corerun foo.exe` for something that has a `foo.ni.exe`, we wouldn't pick up the native image because foo.exe is considered trusted and foo.ni.exe is not. This means we would fall back to JIT. But only if foo.exe is not in CORE_ROOT. If it is, it works...
The pull request broke crossgen testing that was eventually worked around in dotnet/coreclr#11272, but it's also breaking the tests in tests\src\readytorun\tests (we just didn't find out because they're falling back to JIT). We could work around there too, but this took half a day for me to investigate, so I don't want to leave the landmine there for someone else to lose a leg over (the fact that ni probing works if you put the exe and ni.exe into CORE_ROOT was a major timesink when troubleshooting).
I don't see much point in this change. It's fixing the case when someone copied something.exe to CORE_ROOT and then tries to `corerun some\other\version\of\something.exe`, but it doesn't fix the situation when the something.exe depends on dependency.dll - we would still pick up dependency.dll from CORE_ROOT, which is likely the wrong version. The only way to win this game is not to play it - don't put stuff in CORE_ROOT.
monojenkins [Fri, 7 Feb 2020 06:28:53 +0000 (01:28 -0500)]
[merp] Add an exception type for managed exceptions (#31678)
Addresses https://github.com/mono/mono/issues/18681
Co-authored-by: Alexis Christoforides <alexis@thenull.net>
monojenkins [Fri, 7 Feb 2020 06:28:00 +0000 (01:28 -0500)]
[merp] Add tests for crashing via POSIX signal (#2163)
Co-authored-by: Alexis Christoforides <alexis@thenull.net>
Stephen Toub [Fri, 7 Feb 2020 04:51:15 +0000 (23:51 -0500)]
Use char.GetUnicodeCategory in RegexCompiler for single Unicode categories (#31881)
Santiago Fernandez Madero [Fri, 7 Feb 2020 04:16:16 +0000 (20:16 -0800)]
Disable warnaserror for Windows (#31909)
Machines were updated to a newer VS 16.4 but CMake is 3.15.1 which is too old for VS validation of incremental native targets. We need 3.15.5 at least.
Anirudh Agnihotry [Fri, 7 Feb 2020 03:08:07 +0000 (19:08 -0800)]
Addressing Minor Cleanup (#31845)
* addressing viktor feedback
* Update System.Reflection.Emit.ILGeneration.csproj
* Update tests.proj
* Update System.Reflection.Emit.Lightweight.csproj
* Update System.Xml.XPath.XDocument.Tests.csproj
* fixing emit projects, making them similar before config change
Co-authored-by: Viktor Hofer <viktor.hofer@microsoft.com>
Cory Nelson [Fri, 7 Feb 2020 00:12:04 +0000 (16:12 -0800)]
Add QuicConnection.IsQuicSupported for runtime feature detection (#31689)
Add QuicConnection.IsQuicSupported for runtime feature detection, and update tests to use it.
Andrew Au [Thu, 6 Feb 2020 22:16:31 +0000 (14:16 -0800)]
Tweaking the joined_condemned_reason implementation (#31726)
Santiago Fernandez Madero [Thu, 6 Feb 2020 22:04:51 +0000 (14:04 -0800)]
Disable warnAsError from official builds to workaround cmake issue (#31890)
Steve MacLean [Thu, 6 Feb 2020 21:55:05 +0000 (16:55 -0500)]
Configure Host OS APIs based on HOST macros (#31774)
* Use gcenv.windows.inl on Windows HOSTS
* Make two way pipe implementation depend on host
We have no ability to implement a cross OS pipe. Allow the
two way pipe implentation depend on the host.
* Use empty debug macro implementation on Windows hosts.
* Make HMODULE type depend on host compiler
* Configure long file path wrappers based on host
* Configure memcpy based on host
* Configure FreeLibrary based on host
* Configure host utility funtion based on host
VirtualAlloc, CPU count, NUMA config make most sense as host
queries. Configure based on host.
* Configure exceptiion holder based on host
* Prefer #if HOST_WINDOWS for longfilepathwrappers.cpp
* Prefer #if HOST_WINDOWS for src/coreclr/src/inc/holder.h
* Do not include GCToOSInterface::GetPageSize() in DAC
* Remove JIT64_BUILD
* !HOST_UNIX -> HOST_WINDOWS
Andy Ayers [Thu, 6 Feb 2020 21:17:05 +0000 (13:17 -0800)]
JIT: add back no side effect check when optimizing return values (#31836)
Feedback from #31699.
Steve Pfister [Thu, 6 Feb 2020 21:15:50 +0000 (16:15 -0500)]
[mono] Enable debugging for netcore configurations by default. (#31683)
What this means is:
1. --debug is no longer needed since the default is TRUE
2. --debug=ignore is a new switch to go back to the old mono default
Fixes https://github.com/dotnet/runtime/issues/31662
Santiago Fernandez Madero [Thu, 6 Feb 2020 20:48:32 +0000 (12:48 -0800)]
Disable crypto tests affected by libssl in OSX (#31879)
Santiago Fernandez Madero [Thu, 6 Feb 2020 20:31:50 +0000 (12:31 -0800)]
Update SkipOnCoreClrAttributes to RuntimeConfiguration argument (#31847)
* Update SkipOnCoreClrAttributes to RuntimeConfiguration argument
* Update XunitExtensions
* Fix bad merge
Tomas Weinfurt [Thu, 6 Feb 2020 20:18:55 +0000 (12:18 -0800)]
fix FileSystemWatcher_Unix_DoesNotLeak test (#2296)
* fix FileSystemWatcher_Unix_DoesNotLeak test
* feedback
* feedback from review
Steve MacLean [Thu, 6 Feb 2020 19:47:33 +0000 (14:47 -0500)]
Fix JIT TARGET usage (#31740)
* Fix JIT TARGET usage
Fixes _TARGET* & TARGET*_ comments
Fixes TARGET_XARCH4 reference to TARGET_XARCH
Fixes #31372
* Remove no way assert
* Fix JIT formatting
* Use defined() in optcse.cpp
Mike Rousos [Thu, 6 Feb 2020 19:02:48 +0000 (14:02 -0500)]
Initialize Delimiter from Attributes (#635)
* Initialize Delimiter from Attributes
If a DelimitedListTraceListener has a Delimiter attribute, use it
to initialize the Delimiter unless (and until) a delimiter is set
explicitly.
Also add unit tests for these scenarios.
Fix dotnet/corefx#39363
* Remove var usage
Co-Authored-By: Stephen Toub <stoub@microsoft.com>
* Remove unnecessary initialization
Co-authored-by: Stephen Toub <stoub@microsoft.com>
Viktor Hofer [Thu, 6 Feb 2020 18:19:53 +0000 (19:19 +0100)]
Enable .NET Framework F5 & VS TestExplorer support for libraries (#31873)
* Enable .NET Framework F5 & TestExplorer
Adding a launchSettings profile to enable .NET Framework F5 scenarios.
Also setting the DEVPATH variable for the -vs hook to use the locally
built .NET Framework runtime.
* Set DEVPATH env in F5
Eirik Tsarpalis [Thu, 6 Feb 2020 18:18:48 +0000 (18:18 +0000)]
Nullable annotate System.Diagnostics.Process (#31671)
* nullable annotate System.Diagnostics.Process
* add annotations to unix source files
* annotate remainder of non-windows implementations
* enable nullable annotation for file
* add nullable directive to cgroups.cs
* add missing nullable directives in shared files
* enable nullable annotations for ReusableTextReader
* add missing #nullable enable directives in shared files
* address feedback
* address feedback
* ensure ComputerName property is non-nullable
* assert non-nullability for specific Process.Start() overloads
David Cantu [Thu, 6 Feb 2020 15:54:06 +0000 (07:54 -0800)]
Add specification for ReferenceHandling (#354)
* Add specification for ReferenceHandling
* Address more feedback, corrected types, and included table of contents
* Add missing access modifiers to class properties
Add note about immutable types
* Apply suggestions from code review
Co-Authored-By: Ahson Khan <ahkha@microsoft.com>
* Apply more suggestions from code review
Co-Authored-By: Ahson Khan <ahkha@microsoft.com>
* Add PR suggestions.
* Apply even more suggestions from code review
Co-Authored-By: Ahson Khan <ahkha@microsoft.com>
* Add missing semi colons on samples and standardize error messages on $values
Co-Authored-By: Ahson Khan <ahkha@microsoft.com>
* Address changes discussed on API review
* Add note to describe unsupported round-tripping capability on JsonExtensionData.
* Replace i.e. for e.g. where meant to quote an example.
Co-authored-by: Ahson Khan <ahkha@microsoft.com>
Egor Bogatov [Thu, 6 Feb 2020 15:34:16 +0000 (18:34 +0300)]
[mono] Improve mono.proj, auto-detect build configurations (#31739)
* Auto-detect build configuration in Makefile
* Improve RunCoreClrTests target
* Clone .dotnet to .dotnet-mono
* Implement Console
dotnet-maestro[bot] [Thu, 6 Feb 2020 15:31:11 +0000 (16:31 +0100)]
[master] Update dependencies from dotnet/arcade dotnet/runtime-assets (#31855)
* Update dependencies from https://github.com/dotnet/arcade build
20200205.2
- Microsoft.DotNet.XUnitExtensions - 5.0.0-beta.20105.2
- Microsoft.DotNet.VersionTools.Tasks - 5.0.0-beta.20105.2
- Microsoft.DotNet.ApiCompat - 5.0.0-beta.20105.2
- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.20105.2
- Microsoft.DotNet.Build.Tasks.Configuration - 5.0.0-beta.20105.2
- Microsoft.DotNet.Build.Tasks.Feed - 5.0.0-beta.20105.2
- Microsoft.DotNet.Build.Tasks.Packaging - 5.0.0-beta.20105.2
- Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk - 5.0.0-beta.20105.2
- Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk - 5.0.0-beta.20105.2
- Microsoft.DotNet.CodeAnalysis - 5.0.0-beta.20105.2
- Microsoft.DotNet.GenAPI - 5.0.0-beta.20105.2
- Microsoft.DotNet.XUnitConsoleRunner - 2.5.1-beta.20105.2
- Microsoft.DotNet.GenFacades - 5.0.0-beta.20105.2
- Microsoft.DotNet.Helix.Sdk - 5.0.0-beta.20105.2
- Microsoft.DotNet.RemoteExecutor - 5.0.0-beta.20105.2
* Update dependencies from https://github.com/dotnet/runtime-assets build
20200205.1
- System.Windows.Extensions.TestData - 5.0.0-beta.20105.1
- System.Security.Cryptography.X509Certificates.TestData - 5.0.0-beta.20105.1
- System.Private.Runtime.UnicodeData - 5.0.0-beta.20105.1
- System.Net.TestData - 5.0.0-beta.20105.1
- System.IO.Packaging.TestData - 5.0.0-beta.20105.1
- System.IO.Compression.TestData - 5.0.0-beta.20105.1
- System.Drawing.Common.TestData - 5.0.0-beta.20105.1
- System.ComponentModel.TypeConverter.TestData - 5.0.0-beta.20105.1
Steve MacLean [Thu, 6 Feb 2020 15:24:56 +0000 (10:24 -0500)]
Configure host features based on host OS (#31778)
* Configure eventtracing based on host
* Configure DumpDiagnosticProtocolHelper based on host
* Configure streeslog based on host
* Use HOST_UNIX to configure eventtrace.cpp
Elinor Fung [Thu, 6 Feb 2020 15:22:23 +0000 (07:22 -0800)]
Intermittent crash in comhost tests (#31830)
Jan Kotas [Thu, 6 Feb 2020 15:18:46 +0000 (07:18 -0800)]
Fix System.Data.SqlClient tests on Alpine (#31850)
System.Data.SqlClient package reference in tests is restoring wrong flavor of System.Data.SqlClient in some cases (Alpine, Mono). Switch back to copying System.Data.SqlClient to testhost.
monojenkins [Thu, 6 Feb 2020 11:23:38 +0000 (06:23 -0500)]
Reduce number of mono header files copied into SDK include folder (MSVC build). (#31725)
Current script, libmono.bat, copied all metadata headers into include folder. This folder is used up by some other distribution as include folder. Fix makes sure we copy the same number of header files as we do in our make files scripts.
Co-authored-by: Johan Lorensson <lateralusx.github@gmail.com>
Jan Kotas [Thu, 6 Feb 2020 07:46:00 +0000 (23:46 -0800)]
Revert "Save stack arguments size in InlinedCallFrame.m_Datum on x86 to handle callee's popping of arguments (#26834)" (#31811)
This reverts commit
d4c26281bd5859e318e245c371d8056a0bc51d28.
Ahson Khan [Thu, 6 Feb 2020 05:39:11 +0000 (21:39 -0800)]
Make sure original Utf8JsonReader options are honored when re-creating the reader. (#31791)
* Add some unit tests.
* Test clean uTest clean up.
* Make sure original Utf8JsonReader options are honored when re-creating the
reader.
Roman Marusyk [Thu, 6 Feb 2020 05:31:05 +0000 (07:31 +0200)]
Use RuntimeHelpers.GetHashCode instead of obj.GetHashCode (#31756)
* Use RuntimeHelpers.GetHashCode instead of obj.GetHashCode
* Fix unit test
* Code review fixes
* Code review fixes
* Update src/libraries/System.Text.Json/src/System/Text/Json/Serialization/ReferenceEqualsEqualityComparer.cs
Co-Authored-By: David Cantu <jozkyy@gmail.com>
Co-authored-by: David Cantu <jozkyy@gmail.com>
Anirudh Agnihotry [Thu, 6 Feb 2020 05:24:08 +0000 (21:24 -0800)]
New Configuration System (#1787)
* libraries -restore for vertical build without test restore
* Automatic test change and regex to remove the addition of an extra line at eof
* manual test restore fixed (restore completely done for vertical build)
* build native done
* Automatic ref change and regex to remove the last line
* manual reference assebly change and generated shims build
* automatic src change and regex
* native bin place and src build manual change
* apicompat and pretest.csproj done
* fixing the package build
* fixing all config
* packaging and feedback
* adding back placeholder configuration
* fixing the shims
* delete configuration.props
* making the build work in master
* Test Change
* fixing the packageing, test restore replacing TargetFramework -> OriginalTargetFramework
* delete test configuraiton.props, trailing semicolon and use targetFramework
* reverting the package change
* enable apicompat and fixing configurationGroup for individual projects
* fixing the api compat
* making ilproj work
* adding the outerBuildTest
* adding the arcade package version
* fixing the merge conflicts
* minor changes
* adding additional configs and setting the runtimeOS
* making the vs stuff work
* removing the target Group to fix the apicompat
* fixing the linux build and some minor changes
* making additionalBuildTargetFramework LOcalProperty
* fixing the allConfigurations build
* fixing the netfx build
* fixing package Testing and restore
* Missing TargetFrameworks tag
* making the VSdesgin stuff work
* Remove OriginalFramework Entirely
* some minor pr feedback
* RemoveExtraSemicolon
* use boolean exclude flag
* fixing yml scripts to pass tests
* adding comments and some minor feedback
* moving packaging property to correct plave
* fixing the build for web assembly
* Fixing the live ci build
* Fixing the live build for shims
* fixing the tests
* fixing the packaging and enterprise linux
* fixing package sizes
* Fix the targetFramework
* updating the targetFramework sdl
* removing the buildOS and be able to use OSGroup as done in the old system
* Fixing the osgroup stuff for send to helix task
* Fix OSX failures
* Fixing the osx build
* uploading tmp folder to artifacts
* running restore for runtime.deproj correctly
Levi Broderick [Thu, 6 Feb 2020 04:49:11 +0000 (20:49 -0800)]
Fix incorrect early exit in SortKey.Compare and seal type (#31779)
Also addresses some erroneous parameter checking in GetHashCode and fixes endianness issues in InvariantCreateSortKey
Levi Broderick [Thu, 6 Feb 2020 02:50:38 +0000 (18:50 -0800)]
Nullability: RuntimeHelpers.GetHashCode should accept null obj input (#31819)
Andy Ayers [Thu, 6 Feb 2020 02:34:15 +0000 (18:34 -0800)]
JIT: rework phase objects so we can use them more widely (#31808)
Next part of #2109.
Add support for phases that are simply compiler methods or lambdas. These are
not used yet -- the plan is to introduce new phases gradually, cleaning up
redundant checking and dumping along the way. This will happen in subsequent
changes.
Remove a bit of now-redundant post-phase dumping and checking from lower.
Add the active phase to the assertion text, so we have some context.
monojenkins [Thu, 6 Feb 2020 01:22:07 +0000 (20:22 -0500)]
[interp] Make call_vararg non-recursive. (#31722)
[interp] Remove recursion from call_vararg.
This contributes to https://github.com/mono/mono/issues/18646 but is not enough to fix it.
You also have to fix newobj_fast, but that is apparently a bit difficult.
This is a reduced form of https://github.com/mono/mono/pull/18670, i.e. punting newobj_fast for now.
Co-authored-by: Jay Krell <jay.krell@cornell.edu>
Adeel Mujahid [Thu, 6 Feb 2020 00:50:05 +0000 (02:50 +0200)]
Use common CLR_CMAKE_* variables in more places (#31659)
* Use common CLR_CMAKE_* variables in more places
* Remove obsolete paragraph from README
Santiago Fernandez Madero [Thu, 6 Feb 2020 00:17:28 +0000 (16:17 -0800)]
Update SkipOnCoreClr in RunContinueWithStressTestsNoState test (#31826)
Steve MacLean [Thu, 6 Feb 2020 00:07:19 +0000 (19:07 -0500)]
Fix arm64singlestepper #ifdef (#31776)
monojenkins [Thu, 6 Feb 2020 00:05:02 +0000 (19:05 -0500)]
[runtime] Report crash when receiving crashing signals (#2052)
The default handlers for SIGTRAP, SIGSYS on macOS and Linux crash the process, so we now have Mono report this.
This change also changes the presentation of the signal name on the stacktrace report dumped on error (from e.g. "SIGSEGV" to "segv").
Co-authored-by: Alexis Christoforides <alexis@thenull.net>
monojenkins [Wed, 5 Feb 2020 22:35:05 +0000 (17:35 -0500)]
[interp] Stack corruption running full AOT interpreter using ValueTuple. (#31790)
Calling a method compiled using full AOT from interpreter can lead to stack corruption if signature include a ValueTuple without fields on compilers where MONO_ZERO_LEN_ARRAY is not 0 (msvc, clang). This is due to doing memset on memory allocated using MONO_SIZEOF_GENERIC_INST but
then memset using sizeof (MonoGenericInst). Fix makes sure we allocate and memset the same size of memory since otherwise it will lead to an overwrite of allocated memory when type_argc is 0.
The repro is a little tricky since the called method needs to be in a full AOT assembly and then called from an interpreted assembly:
If this is included in a full AOT:ed assembly.
```
public class StackOverwrite
{
[MethodImpl(MethodImplOptions.NoInlining)]
static public ValueTuple trashStack()
{
return ValueTuple.Create();
}
}
```
and this is run under interpreter using --ful-aot-interp:
```
class Program
{
static int Main(string[] args)
{
var test = StackOverwrite.trashStack();
return 0;
}
}
```
It will corrupt the stack before applying the fix.
Thanks @buggeststar for bring the issue to our attention and assisting narrow down repro on how to trigger the issues.
Co-authored-by: Johan Lorensson <lateralusx.github@gmail.com>
Jeremy Koritzinsky [Wed, 5 Feb 2020 22:13:40 +0000 (14:13 -0800)]
Remove old transport packages from CoreCLR and CoreFX. (#5523)
* Remove old transport packages from CoreCLR and CoreFX.
* Remove a lot of now unused goo from the coreclr packaging build.
* Remove unused Microsoft.Windows.Compatibility tests.
* Remove unused frameworkPackage.targets
Stephen Toub [Wed, 5 Feb 2020 22:07:32 +0000 (17:07 -0500)]
Make more Regex loops atomic automatically (#31738)
* Change more Regex loops inside of atomic nodes to be atomic
* Allow Regex loops that end other loops to be made atomic
For example, given an expression like "(abcd*)*e", the inner d* loop will now be converted to be atomic, e.g. "(abc(?>d*))*e)". We're careful not to convert an expression like "(abca*)*e)", where the inner loop has no overlap with what comes immediately after the loop but does with the start of the loop.
I also fixed what appears to be a long-standing bug in how character classes are canonicalized. An attempt was made to avoid running the canonlicalization routine, but we almost always need to do it, and we were not doing it in some cases, resulting in character classes that were correct but not as optimized as they should have been, e.g. two abutting ranges when one would suffice, leading to poorer code gen. It's part of this PR because I caught when changing the reduction tests to validate the full code tree including strings rather than just the codes list.
* Address PR feedback
And add more comments, more code coverage, more runtime asserts, etc.
I also noticed we weren't reducing Setloopatomic and Setlazy into {Not}oneloopatomic and [Not}onelazy, so I fixed that.
And I changed ReduceAtomic to actually remove unnecessary intermediate atomic nodes.
Stephen Toub [Wed, 5 Feb 2020 22:00:37 +0000 (17:00 -0500)]
Tweak Regex compiled code and add more tests (#31730)
* Fix override visibility on generated Regex.CompileToAssembly assembly
* Add some tests based on AT&T's regex test suite
Steve MacLean [Wed, 5 Feb 2020 21:58:18 +0000 (16:58 -0500)]
Fix host compiler when cross OS DAC compiling (#31775)
* Fix duplicate type definition MINIDUMP_TYPE
The Windows headers define MINIDUMP_TYPE. Do not define when using a
Windows HOST.
* Define DLLEXPORT macro as empty on Windows hosts
* Prefer HOST_WINDOWS to !HOST_UNIX
Egor Chesakov [Wed, 5 Feb 2020 21:35:48 +0000 (13:35 -0800)]
[Arm64] Implement simple SIMD operations (#1601)
* Update "And" in AdvSimd.cs AdvSimd.PlatformNotSupported.cs
* Update "AndNot" in AdvSimd.cs AdvSimd.PlatformNotSupported.cs
* Rename "AndNot" to "BitwiseClear" in AdvSimd.cs AdvSimd.PlatformNotSupported.cs
* Add "Divide" and "DivideScalar" in AdvSimd.cs AdvSimd.PlatformNotSupported.cs
* Add "Max" and "MaxScalar" in AdvSimd.cs AdvSimd.PlatformNotSupported.cs
* Add "Min" and "MinScalar" in AdvSimd.cs AdvSimd.PlatformNotSupported.cs
* Add "Multiply" and "MultiplyScalar" in AdvSimd.cs AdvSimd.PlatformNotSupported.cs
* Add "Negate" and "NegateScalar" in AdvSimd.cs AdvSimd.PlatformNotSupported.cs
* Update "Not" in AdvSimd.cs AdvSimd.PlatformNotSupported.cs
* Update "Or" in AdvSimd.cs AdvSimd.PlatformNotSupported.cs
* Update "OrNot" in AdvSimd.cs AdvSimd.PlatformNotSupported.cs
* Update "Sqrt" and "SqrtScalar" in AdvSimd.cs AdvSimd.PlatformNotSupported.cs
* Update "Subtract" and "SubtractScalar" in AdvSimd.cs AdvSimd.PlatformNotSupported.cs
* Update "Xor" in AdvSimd.cs AdvSimd.PlatformNotSupported.cs
* Update System.Runtime.Intrinsics.Experimental.cs
* Add "And" in AdvSimd in hwintrinsiclistarm64.h
* Add "AndNot" in AdvSimd in hwintrinsiclistarm64.h
* Add "DivideScalar" in AdvSimd in hwintrinsiclistarm64.h
* Add "Divide" in AdvSimd_Arm64 in hwintrinsiclistarm64.h
* Add "Max" and "MaxScalar" in hwintrinsiclistarm64.h
* Add "Min" and "MinScalar" in hwintrinsiclistarm64.h
* Add "Multiply" and "MultiplyScalar" in hwintrinsiclistarm64.h
* Add "Negate" and "NegateScalar" in hwintrinsiclistarm64.h
* Add "Not" in AdvSimd in hwintrinsiclistarm64.h
* Add "Or" in AdvSimd in hwintrinsiclistarm64.h
* Add "OrNot" in AdvSimd in hwintrinsiclistarm64.h
* Add "Sqrt" and "SqrtScalar" in hwintrinsiclistarm64.h
* Add "Subtract" and "SubtractScalar" in hwintrinsiclistarm64.h
* Add "Xor" in AdvSimd in hwintrinsiclistarm64.h
* Add "And" in GenerateTests.csx
* Add "BitwiseClear" in GenerateTests.csx
* Add "Divide" and "DivideScalar" in GenerateTests.csx
* Add "Max" and "MaxScalar" in GenerateTests.csx
* Add "Min" and "MinScalar" in GenerateTests.csx
* Add "Multiply" and "MultiplyScalar" in GenerateTests.csx
* Add "Negate" and "NegateScalar" in GenerateTests.csx
* Add "Not" in GenerateTests.csx
* Add "Or" in GenerateTests.csx
* Add "OrNot" in GenerateTests.csx
* Add "Sqrt" and "SqrtScalar" in GenerateTests.csx
* Add "Subtract" and "SubtractScalar" in GenerateTests.csx
* Add "Xor" in GenerateTests.csx
* Update "ReverseElementBits" in GenerateTests.csx
* Update Helpers.cs Helpers.tt
* Update AdvSimd/ AdvSimd.Arm64/
Ryan Lucia [Wed, 5 Feb 2020 21:29:19 +0000 (16:29 -0500)]
[mono] Add mono_crash to the gitignore (#31815)
Stephen Toub [Wed, 5 Feb 2020 21:28:52 +0000 (16:28 -0500)]
Use better names for Regex DynamicMethods to help when profiling (#31817)
Currently, names in the profiler just show up as "FindFirstChar37" or "Go21", and it's difficult to know with which regex it's associated.
Steve MacLean [Wed, 5 Feb 2020 20:15:01 +0000 (15:15 -0500)]
Add cross OS support for MAKEDLLNAME (#31746)
* Add MAKE_TARGET_DLLNAME
* Add TARGET_MAIN_CLR_DLL_NAME_[WA]
* Use TARGET_MAIN_CLR_DLL_NAME_[AW] for DAC
* Remove MSCOREE_SHIM_[WA]
Fadi Hanna [Wed, 5 Feb 2020 19:44:43 +0000 (14:44 -0500)]
Make Crossgen2 a self-contained package (#31741)
* Make Crossgen2 a self-contained package
* Deleting the crossgen2 packaging project from the coreclr sub-repo
The packaging project for the package we ship is under the installer sub-repo
Adam Sitnik [Wed, 5 Feb 2020 19:38:36 +0000 (20:38 +0100)]
allocate SocketAsyncEngine less frequenty to reduce the number of epoll_wait threads (#2346)
Fadi Hanna [Wed, 5 Feb 2020 19:16:09 +0000 (14:16 -0500)]
Fix a consistency issue with command line parsing of file names (use FileInfo instead of string) (#2033)
* Fix a consistency issue with command line parsing of file names (use FileInfo instead of string)
Tanner Gooding [Wed, 5 Feb 2020 18:53:22 +0000 (10:53 -0800)]
Removing unnecessary uses of `unreached` from hwintrinsic importation (#2298)
Jan Kotas [Wed, 5 Feb 2020 18:51:03 +0000 (10:51 -0800)]
Delete System.Data.SqlClient package (#2275)
* Delete System.Data.SqlClient package
* Delete unnecessary SqlClient references
* Unify System.Data.SqlClient package reference
* Add System.Data facade test
* Add System.Data.SqlClient references
- Add System.Data.SqlClient package references for tests that need it
- Use System.Data.SqlClient reference assembly to build the System.Data shim
- Disable ILLinker for the shims since it does not work well with incremental builds and it is not necessary anyway
* Disable tests on Mono
Fixes https://github.com/dotnet/corefx/issues/40846
Viktor Hofer [Wed, 5 Feb 2020 18:19:16 +0000 (19:19 +0100)]
Revert "Update ILLinkTasksVersion dependency (#2334)" (#31807)
This reverts commit
a05c599e0c9ba113902ba59746e041f1513cc339.
buyaa-n [Wed, 5 Feb 2020 18:08:28 +0000 (10:08 -0800)]
Update delegate return value to nullable (#31781)
Steve MacLean [Wed, 5 Feb 2020 18:05:38 +0000 (13:05 -0500)]
Disable linux unwinder on Windows (#31777)
Steve MacLean [Wed, 5 Feb 2020 18:04:40 +0000 (13:04 -0500)]
Add EMPTY_BASES_DECL (#26980)
* Add EMPTY_BASES_DECL
Add EMPTY_BASES_DECL to use MSVC __declspec(empty_bases).
This declaration tells MSVC to collapse empty base classes to
consume no space, as opposed to its default layout algoritihm
which requires base classes to consume at least one byte (in
multiple inheritance situations).
Mark a few classes which can contain empy base classes and may cause
layout differences between Windows and Clang
* Fix MapSHash deserialization
David Wrighton [Wed, 5 Feb 2020 17:57:16 +0000 (09:57 -0800)]
Add config knob to the gc to control its concept of what total physical memory is (#31767)
- The GC relies on the VM to compute this number normally, but the runtime uses heuristics which may be undesirable for the customer scenario (especially inside of a Windows Job object)
- This knob provides a way for the customer to override the heuristics
Carol Eidt [Wed, 5 Feb 2020 16:00:02 +0000 (08:00 -0800)]
Account for UpperVector saves in minRegs (#31773)
When we use a jitStressRegs mode that limits the number of registers, we need to account for the UpperVectorSave.
Fix #31727
dotnet-maestro[bot] [Wed, 5 Feb 2020 15:29:57 +0000 (16:29 +0100)]
[master] Update dependencies from dotnet/arcade Microsoft/vstest (#19613)
* Update dependencies from https://github.com/dotnet/arcade build
20200130.4
- Microsoft.DotNet.XUnitExtensions - 5.0.0-beta.20080.4
- Microsoft.DotNet.VersionTools.Tasks - 5.0.0-beta.20080.4
- Microsoft.DotNet.ApiCompat - 5.0.0-beta.20080.4
- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.20080.4
- Microsoft.DotNet.Build.Tasks.Configuration - 5.0.0-beta.20080.4
- Microsoft.DotNet.Build.Tasks.Feed - 5.0.0-beta.20080.4
- Microsoft.DotNet.Build.Tasks.Packaging - 5.0.0-beta.20080.4
- Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk - 5.0.0-beta.20080.4
- Microsoft.DotNet.CodeAnalysis - 5.0.0-beta.20080.4
- Microsoft.DotNet.GenAPI - 5.0.0-beta.20080.4
- Microsoft.DotNet.XUnitConsoleRunner - 2.5.1-beta.20080.4
- Microsoft.DotNet.GenFacades - 5.0.0-beta.20080.4
- Microsoft.DotNet.Helix.Sdk - 5.0.0-beta.20080.4
- Microsoft.DotNet.RemoteExecutor - 5.0.0-beta.20080.4
* Update dependencies from https://github.com/dotnet/arcade build
20200131.7
- Microsoft.DotNet.XUnitExtensions - 5.0.0-beta.20081.7
- Microsoft.DotNet.VersionTools.Tasks - 5.0.0-beta.20081.7
- Microsoft.DotNet.ApiCompat - 5.0.0-beta.20081.7
- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.20081.7
- Microsoft.DotNet.Build.Tasks.Configuration - 5.0.0-beta.20081.7
- Microsoft.DotNet.Build.Tasks.Feed - 5.0.0-beta.20081.7
- Microsoft.DotNet.Build.Tasks.Packaging - 5.0.0-beta.20081.7
- Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk - 5.0.0-beta.20081.7
- Microsoft.DotNet.CodeAnalysis - 5.0.0-beta.20081.7
- Microsoft.DotNet.GenAPI - 5.0.0-beta.20081.7
- Microsoft.DotNet.XUnitConsoleRunner - 2.5.1-beta.20081.7
- Microsoft.DotNet.GenFacades - 5.0.0-beta.20081.7
- Microsoft.DotNet.Helix.Sdk - 5.0.0-beta.20081.7
- Microsoft.DotNet.RemoteExecutor - 5.0.0-beta.20081.7
* Update dependencies from https://github.com/microsoft/vstest build
20200131-02
- Microsoft.NET.Test.Sdk - 16.5.0-preview-
20200131-02
* Update dependencies from https://github.com/dotnet/arcade build
20200201.2
- Microsoft.DotNet.XUnitExtensions - 5.0.0-beta.20101.2
- Microsoft.DotNet.VersionTools.Tasks - 5.0.0-beta.20101.2
- Microsoft.DotNet.ApiCompat - 5.0.0-beta.20101.2
- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.20101.2
- Microsoft.DotNet.Build.Tasks.Configuration - 5.0.0-beta.20101.2
- Microsoft.DotNet.Build.Tasks.Feed - 5.0.0-beta.20101.2
- Microsoft.DotNet.Build.Tasks.Packaging - 5.0.0-beta.20101.2
- Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk - 5.0.0-beta.20101.2
- Microsoft.DotNet.CodeAnalysis - 5.0.0-beta.20101.2
- Microsoft.DotNet.GenAPI - 5.0.0-beta.20101.2
- Microsoft.DotNet.XUnitConsoleRunner - 2.5.1-beta.20101.2
- Microsoft.DotNet.GenFacades - 5.0.0-beta.20101.2
- Microsoft.DotNet.Helix.Sdk - 5.0.0-beta.20101.2
- Microsoft.DotNet.RemoteExecutor - 5.0.0-beta.20101.2
* Rename RuntimeStressTestModes
* Update dependencies from https://github.com/microsoft/vstest build
20200203-01
- Microsoft.NET.Test.Sdk - 16.5.0-preview-
20200203-01
* Update dependencies from https://github.com/dotnet/arcade build
20200203.5
- Microsoft.DotNet.XUnitExtensions - 5.0.0-beta.20103.5
- Microsoft.DotNet.VersionTools.Tasks - 5.0.0-beta.20103.5
- Microsoft.DotNet.ApiCompat - 5.0.0-beta.20103.5
- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.20103.5
- Microsoft.DotNet.Build.Tasks.Configuration - 5.0.0-beta.20103.5
- Microsoft.DotNet.Build.Tasks.Feed - 5.0.0-beta.20103.5
- Microsoft.DotNet.Build.Tasks.Packaging - 5.0.0-beta.20103.5
- Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk - 5.0.0-beta.20103.5
- Microsoft.DotNet.CodeAnalysis - 5.0.0-beta.20103.5
- Microsoft.DotNet.GenAPI - 5.0.0-beta.20103.5
- Microsoft.DotNet.XUnitConsoleRunner - 2.5.1-beta.20103.5
- Microsoft.DotNet.GenFacades - 5.0.0-beta.20103.5
- Microsoft.DotNet.Helix.Sdk - 5.0.0-beta.20103.5
- Microsoft.DotNet.RemoteExecutor - 5.0.0-beta.20103.5
* Update SkipOnCoreClrAttributes to new parameters
* Update dependencies from https://github.com/dotnet/arcade build
20200204.2
- Microsoft.DotNet.XUnitExtensions - 5.0.0-beta.20104.2
- Microsoft.DotNet.VersionTools.Tasks - 5.0.0-beta.20104.2
- Microsoft.DotNet.ApiCompat - 5.0.0-beta.20104.2
- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.20104.2
- Microsoft.DotNet.Build.Tasks.Configuration - 5.0.0-beta.20104.2
- Microsoft.DotNet.Build.Tasks.Feed - 5.0.0-beta.20104.2
- Microsoft.DotNet.Build.Tasks.Packaging - 5.0.0-beta.20104.2
- Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk - 5.0.0-beta.20104.2
- Microsoft.DotNet.CodeAnalysis - 5.0.0-beta.20104.2
- Microsoft.DotNet.GenAPI - 5.0.0-beta.20104.2
- Microsoft.DotNet.XUnitConsoleRunner - 2.5.1-beta.20104.2
- Microsoft.DotNet.GenFacades - 5.0.0-beta.20104.2
- Microsoft.DotNet.Helix.Sdk - 5.0.0-beta.20104.2
- Microsoft.DotNet.RemoteExecutor - 5.0.0-beta.20104.2
* Update dependencies from https://github.com/microsoft/vstest build
20200205-01
- Microsoft.NET.Test.Sdk - 16.5.0
Co-authored-by: Viktor Hofer <viktor.hofer@microsoft.com>
Co-authored-by: Santiago Fernandez Madero <safern@microsoft.com>
Stephen Toub [Wed, 5 Feb 2020 14:46:14 +0000 (09:46 -0500)]
Change RegexCompiler to special-case sets of just 2 or 3 chars (#31734)
* Change RegexCompiler to special-case sets of just 2 or 3 chars
* Apply suggestions from code review
Co-Authored-By: Dan Moseley <danmose@microsoft.com>
Co-authored-by: Dan Moseley <danmose@microsoft.com>
Santiago Fernandez Madero [Wed, 5 Feb 2020 13:26:39 +0000 (05:26 -0800)]
Disable RunContinueWithStressTestsNoState test on checked coreclr (#31789)