platform/upstream/dotnet/runtime.git
4 years agoClean up more unused methods in System.Private.CoreLib (#31924)
Marek Safar [Fri, 7 Feb 2020 23:02:23 +0000 (00:02 +0100)]
Clean up more unused methods in System.Private.CoreLib (#31924)

4 years agoFix regression in cross OS DAC compilation (#31901)
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

4 years agoAlways fire join events for an rjoin (#651)
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.

4 years agoFix using the nopgooptimize flag in the CoreCLR build scripts. (#31931)
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.

4 years agoBuild package baseline package only during all config (#31929)
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

4 years agoAvoid using a spinlock when WeakReference finalization is called by the GC (#2474)
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)

4 years agoAnnotate System.IO.FileSystem.AccessControl for nullable (#31780)
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

4 years agoFix FreeBSD native build (#31865)
Adeel Mujahid [Fri, 7 Feb 2020 18:37:10 +0000 (20:37 +0200)]
Fix FreeBSD native build (#31865)

4 years agoChange corefx to runtime in API Review Process document (#31928)
Carlos Sanchez Lopez [Fri, 7 Feb 2020 18:33:32 +0000 (10:33 -0800)]
Change corefx to runtime in API Review Process document (#31928)

4 years agoDocument about possible options for localization (#31824)
Elinor Fung [Fri, 7 Feb 2020 18:23:23 +0000 (10:23 -0800)]
Document about possible options for localization (#31824)

4 years agoAnnotate System.IO.IsolatedStorage for nullable (#31835)
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

4 years agoClarify what runtime function means (#31925)
Andrew Au [Fri, 7 Feb 2020 18:10:17 +0000 (10:10 -0800)]
Clarify what runtime function means (#31925)

4 years ago[loader] Set domain->entry_assembly earlier in startup (#31814)
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.

4 years agoFix encodings (#31907)
Next Turn [Fri, 7 Feb 2020 16:03:36 +0000 (00:03 +0800)]
Fix encodings (#31907)

4 years agoSet scan-build in init-compiler (#31915)
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)

4 years ago[System.IO.Compression] Reenable tests that were disabled on Jenkins CI (#31913)
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.

4 years agoAnnotate System.Net.WebSockets for nullable reference types (#31875)
Stephen Toub [Fri, 7 Feb 2020 11:16:59 +0000 (06:16 -0500)]
Annotate System.Net.WebSockets for nullable reference types (#31875)

4 years agoExtract detecting CC/CXX into helper script so we can use it from mono.proj (#31854)
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

4 years agoRevert "Ensure using the given executable path. (dotnet/coreclr#10525)" (#31848)
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.

4 years ago[merp] Add an exception type for managed exceptions (#31678)
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>
4 years ago[merp] Add tests for crashing via POSIX signal (#2163)
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>
4 years agoUse char.GetUnicodeCategory in RegexCompiler for single Unicode categories (#31881)
Stephen Toub [Fri, 7 Feb 2020 04:51:15 +0000 (23:51 -0500)]
Use char.GetUnicodeCategory in RegexCompiler for single Unicode categories (#31881)

4 years agoDisable warnaserror for Windows (#31909)
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.

4 years agoAddressing Minor Cleanup (#31845)
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>
4 years agoAdd QuicConnection.IsQuicSupported for runtime feature detection (#31689)
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.

4 years agoTweaking the joined_condemned_reason implementation (#31726)
Andrew Au [Thu, 6 Feb 2020 22:16:31 +0000 (14:16 -0800)]
Tweaking the joined_condemned_reason implementation (#31726)

4 years agoDisable warnAsError from official builds to workaround cmake issue (#31890)
Santiago Fernandez Madero [Thu, 6 Feb 2020 22:04:51 +0000 (14:04 -0800)]
Disable warnAsError from official builds to workaround cmake issue (#31890)

4 years agoConfigure Host OS APIs based on HOST macros (#31774)
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

4 years agoJIT: add back no side effect check when optimizing return values (#31836)
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.

4 years ago[mono] Enable debugging for netcore configurations by default. (#31683)
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

4 years agoDisable crypto tests affected by libssl in OSX (#31879)
Santiago Fernandez Madero [Thu, 6 Feb 2020 20:48:32 +0000 (12:48 -0800)]
Disable crypto tests affected by libssl in OSX (#31879)

4 years agoUpdate SkipOnCoreClrAttributes to RuntimeConfiguration argument (#31847)
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

4 years agofix FileSystemWatcher_Unix_DoesNotLeak test (#2296)
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

4 years agoFix JIT TARGET usage (#31740)
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

4 years agoInitialize Delimiter from Attributes (#635)
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>
4 years agoEnable .NET Framework F5 & VS TestExplorer support for libraries (#31873)
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

4 years agoNullable annotate System.Diagnostics.Process (#31671)
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

4 years agoAdd specification for ReferenceHandling (#354)
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>
4 years ago[mono] Improve mono.proj, auto-detect build configurations (#31739)
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

4 years ago[master] Update dependencies from dotnet/arcade dotnet/runtime-assets (#31855)
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

4 years agoConfigure host features based on host OS (#31778)
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

4 years agoIntermittent crash in comhost tests (#31830)
Elinor Fung [Thu, 6 Feb 2020 15:22:23 +0000 (07:22 -0800)]
Intermittent crash in comhost tests (#31830)

4 years agoFix System.Data.SqlClient tests on Alpine (#31850)
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.

4 years agoReduce number of mono header files copied into SDK include folder (MSVC build). ...
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>
4 years agoRevert "Save stack arguments size in InlinedCallFrame.m_Datum on x86 to handle callee...
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.

4 years agoMake sure original Utf8JsonReader options are honored when re-creating the reader...
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.

4 years agoUse RuntimeHelpers.GetHashCode instead of obj.GetHashCode (#31756)
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>
4 years agoNew Configuration System (#1787)
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

4 years agoFix incorrect early exit in SortKey.Compare and seal type (#31779)
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

4 years agoNullability: RuntimeHelpers.GetHashCode should accept null obj input (#31819)
Levi Broderick [Thu, 6 Feb 2020 02:50:38 +0000 (18:50 -0800)]
Nullability: RuntimeHelpers.GetHashCode should accept null obj input (#31819)

4 years agoJIT: rework phase objects so we can use them more widely (#31808)
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.

4 years ago[interp] Make call_vararg non-recursive. (#31722)
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>
4 years agoUse common CLR_CMAKE_* variables in more places (#31659)
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

4 years agoUpdate SkipOnCoreClr in RunContinueWithStressTestsNoState test (#31826)
Santiago Fernandez Madero [Thu, 6 Feb 2020 00:17:28 +0000 (16:17 -0800)]
Update SkipOnCoreClr in RunContinueWithStressTestsNoState test (#31826)

4 years agoFix arm64singlestepper #ifdef (#31776)
Steve MacLean [Thu, 6 Feb 2020 00:07:19 +0000 (19:07 -0500)]
Fix arm64singlestepper #ifdef (#31776)

4 years ago[runtime] Report crash when receiving crashing signals (#2052)
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>
4 years ago[interp] Stack corruption running full AOT interpreter using ValueTuple. (#31790)
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>
4 years agoRemove old transport packages from CoreCLR and CoreFX. (#5523)
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

4 years agoMake more Regex loops atomic automatically (#31738)
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.

4 years agoTweak Regex compiled code and add more tests (#31730)
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

4 years agoFix host compiler when cross OS DAC compiling (#31775)
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

4 years ago[Arm64] Implement simple SIMD operations (#1601)
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/

4 years ago[mono] Add mono_crash to the gitignore (#31815)
Ryan Lucia [Wed, 5 Feb 2020 21:29:19 +0000 (16:29 -0500)]
[mono] Add mono_crash to the gitignore (#31815)

4 years agoUse better names for Regex DynamicMethods to help when profiling (#31817)
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.

4 years agoAdd cross OS support for MAKEDLLNAME (#31746)
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]

4 years agoMake Crossgen2 a self-contained package (#31741)
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

4 years agoallocate SocketAsyncEngine less frequenty to reduce the number of epoll_wait threads...
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)

4 years agoFix a consistency issue with command line parsing of file names (use FileInfo instead...
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)

4 years agoRemoving unnecessary uses of `unreached` from hwintrinsic importation (#2298)
Tanner Gooding [Wed, 5 Feb 2020 18:53:22 +0000 (10:53 -0800)]
Removing unnecessary uses of `unreached` from hwintrinsic importation (#2298)

4 years agoDelete System.Data.SqlClient package (#2275)
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

4 years agoRevert "Update ILLinkTasksVersion dependency (#2334)" (#31807)
Viktor Hofer [Wed, 5 Feb 2020 18:19:16 +0000 (19:19 +0100)]
Revert "Update ILLinkTasksVersion dependency (#2334)" (#31807)

This reverts commit a05c599e0c9ba113902ba59746e041f1513cc339.

4 years agoUpdate delegate return value to nullable (#31781)
buyaa-n [Wed, 5 Feb 2020 18:08:28 +0000 (10:08 -0800)]
Update delegate return value to nullable (#31781)

4 years agoDisable linux unwinder on Windows (#31777)
Steve MacLean [Wed, 5 Feb 2020 18:05:38 +0000 (13:05 -0500)]
Disable linux unwinder on Windows (#31777)

4 years agoAdd EMPTY_BASES_DECL (#26980)
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

4 years agoAdd config knob to the gc to control its concept of what total physical memory is...
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

4 years agoAccount for UpperVector saves in minRegs (#31773)
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

4 years ago[master] Update dependencies from dotnet/arcade Microsoft/vstest (#19613)
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>
4 years agoChange RegexCompiler to special-case sets of just 2 or 3 chars (#31734)
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>
4 years agoDisable RunContinueWithStressTestsNoState test on checked coreclr (#31789)
Santiago Fernandez Madero [Wed, 5 Feb 2020 13:26:39 +0000 (05:26 -0800)]
Disable RunContinueWithStressTestsNoState test on checked coreclr (#31789)

4 years agoAvoid keeping runtext alive in Regex cache (#31736)
Stephen Toub [Wed, 5 Feb 2020 13:24:05 +0000 (08:24 -0500)]
Avoid keeping runtext alive in Regex cache (#31736)

Null out any references to the string in case the Regex object is kept alive in a cache and the string object is very large.

4 years agoUse HashCode.Combine directly (#31784)
Jan Kotas [Wed, 5 Feb 2020 13:17:10 +0000 (05:17 -0800)]
Use HashCode.Combine directly (#31784)

4 years agoReduce the number of platforms that run JIT stress pipelines (#31750)
Bruce Forstall [Wed, 5 Feb 2020 05:51:51 +0000 (21:51 -0800)]
Reduce the number of platforms that run JIT stress pipelines (#31750)

* Reduce the number of platforms that run JIT stress pipelines

The current set of platforms is overkill for JIT stress purposes.
This should reduce resource consumption and improve reliability.

Fixes #2100

4 years agoAdd JSON and other area CODEOWNERS (#31772)
Ahson Khan [Wed, 5 Feb 2020 05:33:42 +0000 (21:33 -0800)]
Add JSON and other area CODEOWNERS (#31772)

* Add JSON and other area CODEOWNERS

* Update json owners.

4 years ago[jit] Avoid calling mono_aot_direct_icalls_enabled_for_method () in non-aot mode...
monojenkins [Wed, 5 Feb 2020 05:00:15 +0000 (00:00 -0500)]
[jit] Avoid calling mono_aot_direct_icalls_enabled_for_method () in non-aot mode, it might be a stub if aot is disabled. (#31754)

Co-authored-by: Zoltan Varga <vargaz@gmail.com>
4 years agoFix intermittent crash in comhost tests (#31762)
Elinor Fung [Wed, 5 Feb 2020 04:26:22 +0000 (20:26 -0800)]
Fix intermittent crash in comhost tests (#31762)

4 years agoSeal CompareInfo and TextInfo (#31761)
Levi Broderick [Wed, 5 Feb 2020 02:15:35 +0000 (18:15 -0800)]
Seal CompareInfo and TextInfo (#31761)

4 years agoMinor improvements to Regex.Replace overhead (#31731)
Stephen Toub [Wed, 5 Feb 2020 01:50:56 +0000 (20:50 -0500)]
Minor improvements to Regex.Replace overhead (#31731)

* Avoid some SegmentBuilder overhead with empty Regex.Replace replacements

* Slightly reduce Regex.Replace overhead

4 years agoReduce PAL DAC exports (#31749)
Steve MacLean [Wed, 5 Feb 2020 00:57:32 +0000 (19:57 -0500)]
Reduce PAL DAC exports (#31749)

4 years agoFix check.* cross compilation linker errors (#31751)
Steve MacLean [Wed, 5 Feb 2020 00:55:30 +0000 (19:55 -0500)]
Fix check.* cross compilation linker errors (#31751)

4 years agoRemove GetRecycleMemoryInfo from DAC builds (#31748)
Steve MacLean [Wed, 5 Feb 2020 00:55:09 +0000 (19:55 -0500)]
Remove GetRecycleMemoryInfo from DAC builds (#31748)

4 years agoManaged Renames for consistency (#28819)
Steve MacLean [Wed, 5 Feb 2020 00:54:29 +0000 (19:54 -0500)]
Managed Renames for consistency (#28819)

* Managed Renames for consistency

Rename managed conditional compilation macros to match CoreCLR native concepts

    BIT64                   -> TARGET_64BIT
    BIT32                   -> TARGET_32BIT
    FEATURE_PAL             -> TARGET_UNIX
    PLATFORM_UNIX           -> TARGET_UNIX
    PLATFORM_WINDOWS        -> TARGET_WINDOWS
    PLATFORM_OSX            -> TARGET_OSX

Remove obsolete logic and obsolete defines: FeaturePal

* Simplify !TARGET_* to equivalent TARGET_*

* Remove stale SILVERLIGHT managed code

* Review feedback other

* Fix mono build break

* Fix System.Drawing.Imaging.ImageFormat.FindEncoding

* Add PAL Bridge comment

* Move FeatureCoreCLR per freedback

4 years agoDon't block specific generic types in field marshalling scenar… (#31679)
Jeremy Koritzinsky [Wed, 5 Feb 2020 00:10:30 +0000 (16:10 -0800)]
Don't block specific generic types in field marshalling scenar… (#31679)

Don't block specific generic types in field marshalling scenarios.

4 years agoMerge pull request #31759 from DrewScoggins/RealArchFixup
Drew Scoggins [Tue, 4 Feb 2020 23:30:41 +0000 (15:30 -0800)]
Merge pull request #31759 from DrewScoggins/RealArchFixup

Set default arch to match arcade and pass arch to ci_setup

4 years agoFix unused variable warning (#31747)
Steve MacLean [Tue, 4 Feb 2020 23:25:48 +0000 (18:25 -0500)]
Fix unused variable warning (#31747)

4 years agoRemove duplicate architecture argument
Drew Scoggins [Tue, 4 Feb 2020 23:20:52 +0000 (15:20 -0800)]
Remove duplicate architecture argument

4 years agoSet default arch to match arcade and pass arch to ci_setup
Drew Scoggins [Tue, 4 Feb 2020 23:03:07 +0000 (15:03 -0800)]
Set default arch to match arcade and pass arch to ci_setup

4 years agoUse PTRACE_GETREGSET for any arch in createdump (#22388)
Swift Kim [Tue, 4 Feb 2020 23:04:33 +0000 (08:04 +0900)]
Use PTRACE_GETREGSET for any arch in createdump (#22388)

Also ignore PTRACE_GETREGSET (NT_FPREGSET) failures for arm processes on
aarch64 kernels.

4 years agoDisable ThrowStatementDoesNotResetExceptionStackLineOtherMethod in arm64 (#31735)
Santiago Fernandez Madero [Tue, 4 Feb 2020 22:46:23 +0000 (14:46 -0800)]
Disable ThrowStatementDoesNotResetExceptionStackLineOtherMethod in arm64 (#31735)

4 years ago[mini] iltests.exe depends on TestDriver.dll (#3857)
monojenkins [Tue, 4 Feb 2020 22:28:41 +0000 (17:28 -0500)]
[mini] iltests.exe depends on TestDriver.dll (#3857)

Co-authored-by: Bernhard Urban-Forster <bernhard.urban@xamarin.com>
4 years agoUpdated composite R2R format doc (#2221)
Tomáš Rylek [Tue, 4 Feb 2020 21:38:32 +0000 (22:38 +0100)]
Updated composite R2R format doc (#2221)

I have resurrected my preliminary composite R2R format doc,
I rebased it to include some recent changes. For the process
itself, I assume I should first implement the self-contained
composite R2R format with standalone MSIL metadata as that's
the simplest scenario. After that I'll follow up w.r.t.
shared framework compilation and other scenarios (embedded MSIL,
single exe).

Thanks

Tomas