platform/upstream/dotnet/runtime.git
5 years agoMerge pull request dotnet/coreclr#23321 from franksinankaya/gcc_cleanup_14
Jan Vorlicek [Thu, 21 Mar 2019 21:12:11 +0000 (22:12 +0100)]
Merge pull request dotnet/coreclr#23321 from franksinankaya/gcc_cleanup_14

Integer Conversion issues

Commit migrated from https://github.com/dotnet/coreclr/commit/29dc90c13a5d091c21e21e4ba5d3c4bcd3eab18d

5 years agoAvoid stack walk as specified in the exclusion list
Andrew Au [Mon, 18 Mar 2019 22:19:45 +0000 (15:19 -0700)]
Avoid stack walk as specified in the exclusion list

Commit migrated from https://github.com/dotnet/coreclr/commit/a7c9ca110096c27de23f045cd176c2109d0676d9

5 years agoMerge pull request dotnet/coreclr#23369 from BruceForstall/UpdateStaticStats
Bruce Forstall [Thu, 21 Mar 2019 20:50:53 +0000 (13:50 -0700)]
Merge pull request dotnet/coreclr#23369 from BruceForstall/UpdateStaticStats

Update emitter statistics

Commit migrated from https://github.com/dotnet/coreclr/commit/ceca0a77e8b48e30f9c6b67d2992c3276aba2177

5 years agoMoving gen stack level to code gen interface (dotnet/coreclr#23328)
Brian Bohe [Thu, 21 Mar 2019 18:19:03 +0000 (11:19 -0700)]
Moving gen stack level to code gen interface (dotnet/coreclr#23328)

* Make genStackLevel accessible from CodeGenInterface

* Initializing stackLevel before fist BasicBlock's code is generated

* Typo

* Removing extra line on comments

Commit migrated from https://github.com/dotnet/coreclr/commit/9497b0c77819d7b64a0f3c8bf22921182c99c09d

5 years agoMerge pull request dotnet/coreclr#23350 from briansull/hva-tests
Brian Sullivan [Thu, 21 Mar 2019 17:35:04 +0000 (10:35 -0700)]
Merge pull request dotnet/coreclr#23350 from briansull/hva-tests

Update HVA test

Commit migrated from https://github.com/dotnet/coreclr/commit/9d8fc0a06eae4a657383929ba8ccfebb66730b61

5 years agoRemove innerloop flow jobs that were missed (dotnet/coreclr#23372)
Jarret Shook [Thu, 21 Mar 2019 17:28:29 +0000 (10:28 -0700)]
Remove innerloop flow jobs that were missed (dotnet/coreclr#23372)

* Remove innerloop flow jobs that were missed

* Correctly exclude windows x64 jobs as well

* Address pr feedback

Commit migrated from https://github.com/dotnet/coreclr/commit/b04bccb1a60dd97b50231da0f9667b7ddbc994a7

5 years agoMerge pull request dotnet/coreclr#23389 from BruceForstall/ReplaceZipWithTar
Bruce Forstall [Thu, 21 Mar 2019 17:07:12 +0000 (10:07 -0700)]
Merge pull request dotnet/coreclr#23389 from BruceForstall/ReplaceZipWithTar

Replace Linux pmi_asm_diffs use of zip/unzip with tar

Commit migrated from https://github.com/dotnet/coreclr/commit/f2923fc03ff03742dc5004e9e673d01dc7e6e96d

5 years agoMerge pull request dotnet/coreclr#23384 from dotnet/darc-master-e8de3fe3-fa66-4b56...
Russ Keldorph [Thu, 21 Mar 2019 16:58:23 +0000 (09:58 -0700)]
Merge pull request dotnet/coreclr#23384 from dotnet/darc-master-e8de3fe3-fa66-4b56-92cd-7be4e23a5739

[master] Update dependencies from dotnet/arcade

Commit migrated from https://github.com/dotnet/coreclr/commit/f3bdcc5ad1604a25e0860c1082ee4d7b4783760e

5 years agoReplace Linux pmi_asm_diffs use of zip/unzip with tar
Bruce Forstall [Thu, 21 Mar 2019 16:56:44 +0000 (09:56 -0700)]
Replace Linux pmi_asm_diffs use of zip/unzip with tar

It appears our arm64 machines don't have 'zip', so are failing
to archive the final results.

Commit migrated from https://github.com/dotnet/coreclr/commit/7d1b9d67237604ba1ef62d58987feecfd489f878

5 years agoChange perf smoketest queue (dotnet/coreclr#23371)
Michelle McDaniel [Thu, 21 Mar 2019 16:20:40 +0000 (09:20 -0700)]
Change perf smoketest queue (dotnet/coreclr#23371)

We have installed python3 on all of the Helix queues, so we no longer need to be on a special perf queue for the smoketest runs.

Commit migrated from https://github.com/dotnet/coreclr/commit/e2ec23676cdf7e30c2f5691c3d74c062658284c1

5 years ago[EventPipe] Fix linker warning on Debug/Checked build and unlink Unix Domain Socket...
José Rivero [Thu, 21 Mar 2019 16:08:46 +0000 (09:08 -0700)]
[EventPipe] Fix linker warning on Debug/Checked build and unlink Unix Domain Socket dotnet/coreclr#23334 (dotnet/coreclr#23357)

- Attempt to close-behind unix domain socket and repurpose LF_REMOTING facility.
  - On shutdown, attempt to unlink the bound socket so it can be removed from the file system when the last reference to it it closed.
- Rename unused LF_REMOTING to LF_DIAGNOSTICS_PORT. This new flag will be used by the diagnostic server stress log calls.
- libcmtd.lib(initializers.obj) : warning LNK4098: defaultlib 'libcmt.lib' conflicts with use of other libs; use /NODEFAULTLIB:library [S:\github.com\jorive\coreclr\bin\obj\Windows_NT.x64.Checked\src\dlls\mscoree\coreclr\coreclr.vcxproj]
- Move some preprocessors and includes around.

Commit migrated from https://github.com/dotnet/coreclr/commit/a8624052c9e7b759e7f943cb2a84a2520bef1b79

5 years agoMove Buffer constants to platform specific files (dotnet/coreclr#23352)
Marek Safar [Thu, 21 Mar 2019 15:30:11 +0000 (16:30 +0100)]
Move Buffer constants to platform specific files (dotnet/coreclr#23352)

* Move Buffer constants to platform specific files

* Add explicit access modifier

Commit migrated from https://github.com/dotnet/coreclr/commit/ad30997d41d9652a644f6a2fe1b73bd8416d87b2

5 years agoUpdate CoreCLR for changes in shared partition
Jan Kotas [Thu, 21 Mar 2019 01:15:19 +0000 (18:15 -0700)]
Update CoreCLR for changes in shared partition

Commit migrated from https://github.com/dotnet/coreclr/commit/fbe0c7795effcd490984ebc4a07723dea6e1367e

5 years agoUnify EnumInfo and NamesAndValues
Jan Kotas [Wed, 20 Mar 2019 07:39:51 +0000 (00:39 -0700)]
Unify EnumInfo and NamesAndValues

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/27f8a628fbe763de76b0d8e89b482dcf71efd730

5 years agoHoist calls to IsBitwiseEquatable (dotnet/coreclr#23381)
Jan Kotas [Thu, 21 Mar 2019 06:54:41 +0000 (23:54 -0700)]
Hoist calls to IsBitwiseEquatable (dotnet/coreclr#23381)

Smaller IL is easier for JIT

Commit migrated from https://github.com/dotnet/coreclr/commit/35d3376190a48023e176ade9f2d5da1e945bf125

5 years agoRuntime changes for IJW Activation (dotnet/coreclr#22636)
Jeremy Koritzinsky [Thu, 21 Mar 2019 05:59:29 +0000 (22:59 -0700)]
Runtime changes for IJW Activation (dotnet/coreclr#22636)

* Implement loading an assembly from an HMODULE on Windows.

* Use the native runtime to execute the main method so I don't have to replicate all of the startup behavior.

* If ijwhost is loaded, then call back into ijwhost to resolve tokens for vtable entries.

* Refactor our various component loaders (COM and IJW) and have IJW load components into separate ALCs when loaded from native.

* Move VTableFixups after DeliverSyncEvents in our incremental load. We need the module to be loaded to at least FILE_LOAD_DELIVER_EVENTS when resolving dependencies loaded via VTableFixups, otherwise they try to load into the default ALC.

* Only try to get ijwhost module handle on Windows.

* Use defined() instead of ifndef

* Fix off-Windows build break and fix unvalid comment.

* ComponentLoadContext->IsolatedComponentLoadContext

* Only build InMemoryAssemblyLoader when targeting windows.

* Add doc comments for IsolatedComponentLoadContext.

* Rename qcall.

* Add comment for boolean parameter.

* Add null check for managed ExecuteMainMethod entrypoint.

* Add comments in ceeload.cpp for the ijwhost method resolution.

* Add test verifying runtime callback to IJW host.

* Add test for InMemoryAssemblyLoader.LoadInMemoryAssembly.

* Fix x86 behavior rel. loading symbols by name and stdcall mangling.

* Remove exe entrypoints. The executable case for mixed-mode will go through the normal .NET Core app model (no special hosting support needed).

* Clean up whitespace

* Add test verifying M->N->M ALC switch behavior with IJW.

* Resolve the ijwhost module by probing the PE for the IJW assembly instead of hardcoding the name.

* Remove static caching in GetTokenGetterFromHostModule.

* Disable new IJW tests on Win7.

* PR Feedback.

* Cleanup extra copy of function.

* Use old-style environment checking in LoadIjwFromModuleHandle since we reference S.P.CL directly.

* Fix break in rebase

* Clean up fake mscoree code.

* Only validate that a CLR header exists. The OS verifies everything else.

* Make ijw host resolution code static to ceeload.cpp

* Use bracketed include for xplatform.h

* Update comment on _CorDllMain

* PR feedback.

* Remove .def file.

* PR feedback.

* Verify we export correctly on x86 and x64.

* Fix path to ijwhostmock for CopyConstructorMarshaler

* Disable IJW tests on arm32 nightly. Can't repro the dependency load failures. Fixes dotnet/coreclr#23358

Commit migrated from https://github.com/dotnet/coreclr/commit/ea10aaccb09fe30f0444b821fd8d90d9257dd402

5 years agoTest for PollingCounter (dotnet/coreclr#23257)
Sung Yoon Whang [Thu, 21 Mar 2019 02:20:01 +0000 (19:20 -0700)]
Test for PollingCounter (dotnet/coreclr#23257)

* Add test for PollingCounter

* some cleanup

* Comparing mean to failureCountCalled

* fix comparison

* compare to the correct count

* fix casing in csproj file

Commit migrated from https://github.com/dotnet/coreclr/commit/42c234f25baf2a6bdd3a429cb8a9530a5dfa54b6

5 years agoExpand Vector128 testing to 5 elements
Brian Sullivan [Thu, 21 Mar 2019 01:15:14 +0000 (18:15 -0700)]
Expand Vector128 testing to 5 elements

Commit migrated from https://github.com/dotnet/coreclr/commit/413cfde0df6dc9e722a7ce551238855c3eb62dbf

5 years agoMerge branch 'master' into hva-tests
Brian Sullivan [Wed, 20 Mar 2019 23:43:53 +0000 (16:43 -0700)]
Merge branch 'master' into hva-tests

Commit migrated from https://github.com/dotnet/coreclr/commit/8e1882ee40cda54233cbdb4d5d47e9825978ddb5

5 years agoRemove kill-tasks step in eng/build-job.yml and kill_tasks.cmd file (dotnet/coreclr...
Egor Chesakov [Wed, 20 Mar 2019 21:47:09 +0000 (14:47 -0700)]
Remove kill-tasks step in eng/build-job.yml and kill_tasks.cmd file (dotnet/coreclr#23351)

Commit migrated from https://github.com/dotnet/coreclr/commit/69dc790d171783584f5af3a5da60a25e2c301899

5 years agoUpdate emitter statistics
Bruce Forstall [Mon, 18 Mar 2019 21:53:52 +0000 (14:53 -0700)]
Update emitter statistics

1. Move BasicBlock static statistics output to block.cpp,
and update it to match the current BasicBlock declaration.
2. Add counts for each instrDesc type that is used.
3. Dump instrDesc type sizes.
4. Dump IG "static" buffer sizes.
5. Dump how many of each instrDesc can fit in the "static" IG.
6. Dump the maximum prolog instrDesc count and prolog IG size.
7. Fix and enable the "common small constants" output.

Commit migrated from https://github.com/dotnet/coreclr/commit/db98a132c216cf561b74a3cb86980e3f22d80852

5 years agoRestrict the set of platforms for GCStress testing. (dotnet/coreclr#23353)
Sergey Andreenko [Wed, 20 Mar 2019 17:12:06 +0000 (10:12 -0700)]
Restrict the set of platforms for GCStress testing. (dotnet/coreclr#23353)

Commit migrated from https://github.com/dotnet/coreclr/commit/0eae19e1754517085d38df2a48861c2370c26eea

5 years agoAdding a flag to able/disable scope info (dotnet/coreclr#23298)
Brian Bohe [Wed, 20 Mar 2019 17:08:01 +0000 (10:08 -0700)]
Adding a flag to able/disable scope info (dotnet/coreclr#23298)

* Flag USING_SCOPE_INGO definition

* Enclosing siScope's related functions uses with USING_SCOPE_INFO flag definition check

* Encapsulating genSetScopeInfo when using siVarScope

* Moving comment inside flag defined block

* Include siScope/psiScope functions only when flag USING_SCOPE_INFO is defined

* Disable scope info

* Typo

* Adding comment flag name on #endif

* Remove redundant access levels/flags

* Repeating last accessibility level in case flag is disabled

* Setting use of siScope and psiScope as default way of reporting variable homes

Commit migrated from https://github.com/dotnet/coreclr/commit/0ee508291b7cec2b0a0d5e7929846d3e40446810

5 years agoAdd repro case for jit stack overflow failure (dotnet/coreclr#23346)
Andy Ayers [Wed, 20 Mar 2019 16:17:30 +0000 (09:17 -0700)]
Add repro case for jit stack overflow failure (dotnet/coreclr#23346)

Repro case for dotnet/coreclr#18582 and dotnet/coreclr#23309.

Commit migrated from https://github.com/dotnet/coreclr/commit/69ec6463cd14b5478dbd6b577ce0483fc0a838c3

5 years agoExclude GC/Collect from GCStress testing. (dotnet/coreclr#23345)
Sergey Andreenko [Wed, 20 Mar 2019 06:16:26 +0000 (23:16 -0700)]
Exclude GC/Collect from GCStress testing. (dotnet/coreclr#23345)

Commit migrated from https://github.com/dotnet/coreclr/commit/c4dca1072d15bdda64c754ad1ea474b1580fa554

5 years agoImplement support for copy constructors when marshalling in IJW (dotnet/coreclr#22805)
Jeremy Koritzinsky [Tue, 19 Mar 2019 23:22:47 +0000 (16:22 -0700)]
Implement support for copy constructors when marshalling in IJW (dotnet/coreclr#22805)

Fixes dotnet/coreclr#22219.

I decided to try simplifying the code when bringing this feature over from .NET Framework. The .NETFX x86 implementation of this marshaler adds a lot of extra code-paths, and intercepts the calling stub to enable it to exactly replicate the behavior of what would be the native code by copy-constructing an object in-place where it goes on the stack for the native call.

Instead of adding all of that extra goo, I decided to keep the implementation much more similar to the non-x86 implementation from .NETFX. Instead of intercepting the call and adding bookkeeping helper stubs, the marshaler just copies to a local in the IL stub, just like non-x86. When calling the native function, it just loads the local onto the IL stack and calls the native function as a normal function. There is a difference there, but I cannot think of a way that the difference is observable to the user.

The non-x86 implementation is identical to the .NETFX implementation.

Commit migrated from https://github.com/dotnet/coreclr/commit/4bca72836811aa1b82389c50dc4f2bcae222bdc0

5 years agoMerge branch 'master' into hva-tests
Brian Sullivan [Tue, 19 Mar 2019 21:56:54 +0000 (14:56 -0700)]
Merge branch 'master' into hva-tests

Commit migrated from https://github.com/dotnet/coreclr/commit/b2c397b649181f793d6c29f1de78d0aee0a52596

5 years agoFill out full test matrix
Brian Sullivan [Tue, 19 Mar 2019 21:51:14 +0000 (14:51 -0700)]
Fill out full test matrix
Give detailed error messages for test failures:

test1Argument_HVA128_03(arg1.v2): FAILED - Vector64<T> checkValues(index = 16, i = 0)
test1Argument_HVA128_03(arg1.v2): FAILED - Vector64<T> checkValues(index = 16, i = 0) (via reflection)

Commit migrated from https://github.com/dotnet/coreclr/commit/ed9a4bf1392e247a12c119a551cd892c9d9e8d1f

5 years agoRemove timer in RuntimeEventSource (dotnet/coreclr#23311)
Sung Yoon Whang [Tue, 19 Mar 2019 21:46:18 +0000 (14:46 -0700)]
Remove timer in RuntimeEventSource (dotnet/coreclr#23311)

* Change RuntimeEventSource's counter types

* cleanup

* cleanup

Commit migrated from https://github.com/dotnet/coreclr/commit/accc6eb0f0f669494bee0788884b5a10101f1243

5 years agoTrim/TrimStart/TrimEnd methods for Memory and Span (dotnet/coreclr#22798)
Grant [Tue, 19 Mar 2019 21:20:00 +0000 (14:20 -0700)]
Trim/TrimStart/TrimEnd methods for Memory and Span (dotnet/coreclr#22798)

* Span.Trim

* Add another helper

* Remove redundant comments

* Optimize Trim(ReadOnlySpan<char>)

* Suggested overload for byte

* CR fixes

* CR fix

* Add Span overloads

* Add Memory overloads

* CR

* Rename method

* Optimization

* Tweaks

* Refactor

* Opt

* Use 2 helpers

* CR fixes

* CR fixes

* Nits

* CR fixes

* remove in params

* Bug

* Bug

* Move Trim methods to their own dedicated file

* Add char overloads

* Use Contains

* CR fixes

* Optmize ClampNull

* Nit

* Revert optimization

* Make existing implementations consistent with new

* Revert existing methods

* Move helpers

* Span, Memory and RoM should use consistent pattern

* POC for changing RoS

* Revert POC

* Use consistent idiom

* More inlining of explaining vars

* Use expression body for existing code

* CR fixes

* Nit

* Grammar

* CR fixes

* Fix perf bug in existing code

* Perf fix

* Force CI build

* Force CI

Commit migrated from https://github.com/dotnet/coreclr/commit/860c72845fa6ac501d11f6b71d0b79f4294745d6

5 years agoReintroduce PR dotnet/coreclr#22617 (Update added types and methoddefs on ApplyMetada...
David Mason [Tue, 19 Mar 2019 21:00:36 +0000 (14:00 -0700)]
Reintroduce PR dotnet/coreclr#22617 (Update added types and methoddefs on ApplyMetadata) (dotnet/coreclr#23202)

* Add ApplyMetadata changes back

This reverts commit dotnet/coreclr@f9c10f995fe65c0e7c30aa1734f7bb22c519983d.

* Fix race condition in loading available class hash for R2R with old R2R images or profiler modified R2R images

Commit migrated from https://github.com/dotnet/coreclr/commit/5aacb1dfa019eb4865800d05a408665be322ea77

5 years agoUpdate CoreFX Windows Arm64 exclusion list. (dotnet/coreclr#23261)
Sergey Andreenko [Tue, 19 Mar 2019 18:34:57 +0000 (11:34 -0700)]
Update CoreFX Windows Arm64 exclusion list. (dotnet/coreclr#23261)

* Reenable CoreFX tests that were fixed on arm64 windows.

* Exclude Microsoft.Win32.SystemEvents.Tests

Commit migrated from https://github.com/dotnet/coreclr/commit/b9de10e0c1fd090d1a5f624e0d77b70bddf1490d

5 years agoDisable Jenkins Innerloop Jobs (dotnet/coreclr#23287)
Jarret Shook [Tue, 19 Mar 2019 18:06:56 +0000 (11:06 -0700)]
Disable Jenkins Innerloop Jobs (dotnet/coreclr#23287)

* Disable Jenkins Innerloop Jobs

This change will:

1) Remove default PR trigger jobs from being run in jenkins
2) Start submitting tests for linux arm32 in coreclr-ci

It is worth noting that this change will not remove jobs from netci.groovy.
This is to say that it is still possible to trigger innerloop and outerloop
jobs in jenkins, they will just not be run automatically on each new PR.

Past this point coreclr-ci will be the only PR triggered jobs to appear in Coreclr.
To see test results, navigate to the coreclr-ci Azure Dev Ops page at:
https://dev.azure.com/dnceng/public/_build?definitionId=228 and view the build related to your PR.
There is a test tab which will report all test results.

* Address PR feedback

* Add queue to array syntax

* Do not create push trigger jobs

Commit migrated from https://github.com/dotnet/coreclr/commit/21075b3f0150084e341a7d37374de67c616b9870

5 years agoAdding const to functions that don't change or shouldn't change state (dotnet/coreclr...
Brian Bohe [Tue, 19 Mar 2019 17:21:49 +0000 (10:21 -0700)]
Adding const to functions that don't change or shouldn't change state (dotnet/coreclr#23329)

Commit migrated from https://github.com/dotnet/coreclr/commit/8497ae3ed438f443b22b00a66f42afe8f6623bbf

5 years agoRevert "Delete suspicious code in delegate construction (dotnet/coreclr#22830)" ...
Jarret Shook [Tue, 19 Mar 2019 16:06:56 +0000 (09:06 -0700)]
Revert "Delete suspicious code in delegate construction (dotnet/coreclr#22830)" (dotnet/coreclr#23291)

This reverts commit dotnet/coreclr@674bdcbc2ac824d005b5179cee3c5826b582b9a6.

Commit migrated from https://github.com/dotnet/coreclr/commit/0786da806b9727c466f3f9393cb3d55cf9df7536

5 years agoAdd Utf8String skeleton (dotnet/coreclr#23209)
Levi Broderick [Tue, 19 Mar 2019 05:58:32 +0000 (22:58 -0700)]
Add Utf8String skeleton (dotnet/coreclr#23209)

Utf8String is an experimental type that is string-like (heap-allocated, immutable, variable-length, null-terminated) but whose inner representation is UTF-8, not UTF-16.

This is a skeleton implementation of the basic API shape. The ecosystem of APIs has not yet been built around it. All Utf8String-related code is currently surrounded by ifdefs to allow easy identification and removal from release branches.

Commit migrated from https://github.com/dotnet/coreclr/commit/1f3f474a13bdde1c5fecdf8cd9ce525dbe5df000

5 years agoAdd Rune.TryEncodeToUtf8 and related APIs (dotnet/coreclr#23250)
Levi Broderick [Tue, 19 Mar 2019 02:17:20 +0000 (19:17 -0700)]
Add Rune.TryEncodeToUtf8 and related APIs (dotnet/coreclr#23250)

Also renames the existing Encode / Decode APIs per design review feedback

Commit migrated from https://github.com/dotnet/coreclr/commit/31581af5fa816fb2ea94145823ec3bdd6c0b0327

5 years agoFix Interop/SizeConst/SizeConstTest to successfully run in all locales. (dotnet/corec...
Jeremy Koritzinsky [Tue, 19 Mar 2019 01:01:29 +0000 (18:01 -0700)]
Fix Interop/SizeConst/SizeConstTest to successfully run in all locales. (dotnet/coreclr#20268)

This test initially would fail when run on a multibyte character set with characters for the original value of `s.arr` such as zh-CH. We cannot change the marshaler since there is not a good way to determine how many bytes/character we need at type-load-time (when the size of the native type is determined).

This change allows us to accurately run this test on Windows machines with multi-byte character sets.

Fixes dotnet/coreclr#7793.

Commit migrated from https://github.com/dotnet/coreclr/commit/2fcf278b141e61ef3ae4c9afa9e3dc1ea9954bb0

5 years agoMerge pull request dotnet/coreclr#23314 from dotnet/darc-master-648053b9-42fd-4c35...
William Godbe [Mon, 18 Mar 2019 20:39:34 +0000 (13:39 -0700)]
Merge pull request dotnet/coreclr#23314 from dotnet/darc-master-648053b9-42fd-4c35-979c-5fdabc09c8cb

[master] Update dependencies from dotnet/core-setup

Commit migrated from https://github.com/dotnet/coreclr/commit/82f60c93d6677a6245446e72624723ee70254e4f

5 years agoFix for running in a container without mem limit set on Windows; (dotnet/coreclr...
Maoni Stephens [Mon, 18 Mar 2019 20:39:29 +0000 (13:39 -0700)]
Fix for running in a container without mem limit set on Windows; (dotnet/coreclr#23297)

also fixing the LocalGC standalone case on Linux

Commit migrated from https://github.com/dotnet/coreclr/commit/cf887c943bf1dee978bc863b7481686ecee8ad83

5 years agoUpdate assemblyloadcontext.md (dotnet/coreclr#23318)
Mathias Lykkegaard Lorenzen [Mon, 18 Mar 2019 20:38:57 +0000 (21:38 +0100)]
Update assemblyloadcontext.md (dotnet/coreclr#23318)

Commit migrated from https://github.com/dotnet/coreclr/commit/f2642ad1b4c94e21a92a5e6426f7a6556551977d

5 years agoFix explicit constructor calls and Remove multi-line comments (dotnet/coreclr#23162)
Sinan Kaya [Mon, 18 Mar 2019 18:27:59 +0000 (14:27 -0400)]
Fix explicit constructor calls and Remove multi-line comments (dotnet/coreclr#23162)

* fix implicit constructor call

* extern c

format patch

* muti-line

* Remove direct constructor call

* Conversion

* Need paranthesis

* Return value on resize

* declspec(Thread)

* Ignore warnings for GCC

* Formatting issues

* Move cast to constant

Commit migrated from https://github.com/dotnet/coreclr/commit/6100a9faf1c29b06aed3ad5bef00ce905880309d

5 years agoConversion issues
Sinan Kaya [Mon, 18 Mar 2019 18:14:40 +0000 (18:14 +0000)]
Conversion issues

Commit migrated from https://github.com/dotnet/coreclr/commit/0c1c24998ea177a465f7cf8649eb7ae77fcd2e77

5 years agoMerge pull request dotnet/coreclr#23307 from franksinankaya/gcc_cleanup_13
Jan Vorlicek [Mon, 18 Mar 2019 17:53:39 +0000 (18:53 +0100)]
Merge pull request dotnet/coreclr#23307 from franksinankaya/gcc_cleanup_13

Fix conversion, unknown pragmas and Visibility Issues for GCC

Commit migrated from https://github.com/dotnet/coreclr/commit/d9781f1d81b06ea1562521aea6d278ca876c82ad

5 years agoMerge pull request dotnet/coreclr#23179 from franksinankaya/gcc_cleanup_11
Jan Vorlicek [Mon, 18 Mar 2019 17:53:08 +0000 (18:53 +0100)]
Merge pull request dotnet/coreclr#23179 from franksinankaya/gcc_cleanup_11

Correct current script dir detection for GCC

Commit migrated from https://github.com/dotnet/coreclr/commit/7c0849e28dc97fb941a60bf869e822c372286ff1

5 years ago[EventPipe] Adding an IPC server to handle out of process communication. (dotnet...
José Rivero [Mon, 18 Mar 2019 17:23:30 +0000 (10:23 -0700)]
[EventPipe] Adding an IPC server to handle out of process communication. (dotnet/coreclr#23106)

This is the first commit to enable a "diagnostic port" using IPC (Named Pipe on Windows and Unix Domain Socket on other platforms). This change currently enable EventPipe to be enabled/disabled without the use of a file drop.
- Split the DiagnosticsIpc into (DiagnosticsIpc/IpcStream)
  - DiagnosticsIpc (IPC listener) is meant to be used by the Diagnostic server.
  - IpcStream (IPC channel) is meant to be use to communicate with the connected client.
- Change the FastSerializer dependency from `CFileStream` to `StreamWriter`
  This abstraction is meant decouple the writing of objects in order to extend its usability.
  The main objective is to reuse FastSerializer to stream data through the open IPC channel.
- Moved the EventPipeSessionProvider* classes to their own file.
- Added a more streamlined parsing achievable by defining a simpler binary protocol (by noahfalk).
  1. Only one allocation is needed for the EventPipeProviderConfiguration array, no allocations or copies are needed for strings because we can refer to them directly out of the incoming command buffer
  2. No change to the EventPipe API for enable is required. EventPipeProviderConfiguration retains its current behavior of not deleting the string pointers it holds.
  3. No leaks happen because the command buffer owns the string memory and ensures that it stays alive for the duration of the Enable() call.

Commit migrated from https://github.com/dotnet/coreclr/commit/4497df34cbe3d8bf7a21828714a3cf764da16e98

5 years agoAdd gcc6 and gcc8 to supported compilers
Sinan Kaya [Mon, 18 Mar 2019 13:16:31 +0000 (13:16 +0000)]
Add gcc6 and gcc8 to supported compilers

Commit migrated from https://github.com/dotnet/coreclr/commit/e8aadb40fe94ba123087c279a57c65b5cfa3ebff

5 years agoSupport gcc for build-test.sh
Sinan Kaya [Mon, 18 Mar 2019 02:32:13 +0000 (02:32 +0000)]
Support gcc for build-test.sh

Commit migrated from https://github.com/dotnet/coreclr/commit/5bc76805829a6202a5d73ac22f21a6b2eb528507

5 years agoMake more types eligible for vectorized code paths in MemoryExtensions (dotnet/corecl...
Levi Broderick [Mon, 18 Mar 2019 05:30:50 +0000 (22:30 -0700)]
Make more types eligible for vectorized code paths in MemoryExtensions (dotnet/coreclr#20855)

Types like sbyte, ushort, and other 8-bit / 16-bit elemental types are now directed down the fast vectorized code paths that previously only byte and char were eligible for.

Commit migrated from https://github.com/dotnet/coreclr/commit/b88f2f635b02c130ae00b4d8aee3e766a60698d5

5 years agoCorrect ignored align attribute
Sinan Kaya [Sun, 17 Mar 2019 20:39:59 +0000 (20:39 +0000)]
Correct ignored align attribute

src/vm/threadpoolrequest.h:166:48: error: attribute ignored in declaration of ‘struct ManagedPerAppDomainTPCount::<anonymous>’ [-Werror=attributes]
     DECLSPEC_ALIGN(MAX_CACHE_LINE_SIZE) struct {
                                                ^

Commit migrated from https://github.com/dotnet/coreclr/commit/5d3eeaa1a16dc9bcb3279e6503cc3489d644a82f

5 years agoConst has static linkage
Sinan Kaya [Sun, 17 Mar 2019 20:36:22 +0000 (20:36 +0000)]
Const has static linkage

bin/obj/Linux.x64.Debug/src/dlls/mscorrc/full/mscorrc_debug.cpp:1002:110: error: ‘visibility’ attribute ignored [-Werror=attributes]
 const NativeStringResourceTable nativeStringResourceTable_mscorrc_debug __attribute__((visibility("default"))) = {

Commit migrated from https://github.com/dotnet/coreclr/commit/45d5b3a7c3b426965defd7b264d24ef00e955751

5 years agoRemove old files
Sinan Kaya [Sat, 16 Mar 2019 17:31:17 +0000 (17:31 +0000)]
Remove old files

Commit migrated from https://github.com/dotnet/coreclr/commit/1609b9791ff30bbefed7e6fb2eb42b4aea2d98f9

5 years agoCorrect current script dir detection
Sinan Kaya [Mon, 11 Mar 2019 17:01:39 +0000 (17:01 +0000)]
Correct current script dir detection

Commit migrated from https://github.com/dotnet/coreclr/commit/9d81fad0a06a5153968493bf23e5b782789581c8

5 years agoFix conversion issues
Sinan Kaya [Sun, 17 Mar 2019 20:24:40 +0000 (20:24 +0000)]
Fix conversion issues

Commit migrated from https://github.com/dotnet/coreclr/commit/07f9f2f101754c38570ed75ce9a7083090769a0f

5 years agoSuppress compiler warnings
Sinan Kaya [Sat, 16 Feb 2019 20:16:53 +0000 (20:16 +0000)]
Suppress compiler warnings

remove no attribute

Commit migrated from https://github.com/dotnet/coreclr/commit/30c6f1cf8280f49ec38369793b1fc07bb239a6dc

5 years agoMove Enum and CorElementType to shared (dotnet/coreclr#23177)
Egor Bogatov [Sun, 17 Mar 2019 06:10:36 +0000 (07:10 +0100)]
Move Enum and CorElementType to shared (dotnet/coreclr#23177)

Commit migrated from https://github.com/dotnet/coreclr/commit/d6449a27effa7c983488f183dd00942fa3e3e882

5 years agoFixing some payload serialization issue on new EventCounters (dotnet/coreclr#23295)
Sung Yoon Whang [Sun, 17 Mar 2019 02:06:11 +0000 (19:06 -0700)]
Fixing some payload serialization issue on new EventCounters (dotnet/coreclr#23295)

* Fixing some payload serialization issue on new EventCounters

* Fix build error

Commit migrated from https://github.com/dotnet/coreclr/commit/b31dacad8ec2b79f24e1b4ab4b0a7c0a20159601

5 years agoFix x86 dumps from HandleFatalError showing misleading callstack (dotnet/coreclr...
Elinor Fung [Sat, 16 Mar 2019 22:02:52 +0000 (15:02 -0700)]
Fix x86 dumps from HandleFatalError showing misleading callstack (dotnet/coreclr#23289)

Commit migrated from https://github.com/dotnet/coreclr/commit/5bfb7417d5841c7ff79452f92e13603c5b0459fc

5 years agoFix typo (dotnet/coreclr#23300)
Nikita Potapenko [Sat, 16 Mar 2019 15:41:47 +0000 (17:41 +0200)]
Fix typo (dotnet/coreclr#23300)

.Net -> .NET

Commit migrated from https://github.com/dotnet/coreclr/commit/fe851740636b89c052af316576b8d47f0c5edd06

5 years agoJIT: clear stub register assignment for tail calls via helper (dotnet/coreclr#23288)
Andy Ayers [Sat, 16 Mar 2019 15:08:16 +0000 (08:08 -0700)]
JIT: clear stub register assignment for tail calls via helper (dotnet/coreclr#23288)

When we have a VSD tail call via a helper, the stub arg is passed as a normal
arg to the helper and moved to the right special register by the copy routine
that the helper invokes. So the jit does not need to pass the stub value in the
special register when calling the helper.

The stub arg gets set to that register by default, so we now unset it for the
tail call via helper case.

Closes dotnet/coreclr#18943.

Commit migrated from https://github.com/dotnet/coreclr/commit/8ad9856bc69615557267604c1841f2a520dcf132

5 years agoIntroduce COMPlus arm64 HW intrinsics knobs (dotnet/coreclr#23244)
Bruce Forstall [Sat, 16 Mar 2019 04:27:56 +0000 (21:27 -0700)]
Introduce COMPlus arm64 HW intrinsics knobs (dotnet/coreclr#23244)

* Introduce COMPlus configuration variables to disable arm64 HW intrinsics classes

Fixes dotnet/coreclr#20708

* Formatting

Commit migrated from https://github.com/dotnet/coreclr/commit/3b05199df4b5b04a8a0eb62c17effa8374e1d726

5 years agoAdd siVarLoc::Equals (dotnet/coreclr#23275)
Brian Bohe [Sat, 16 Mar 2019 03:54:22 +0000 (20:54 -0700)]
Add siVarLoc::Equals (dotnet/coreclr#23275)

Commit migrated from https://github.com/dotnet/coreclr/commit/c247e12e00d2ee671f105819afebd65950134199

5 years agoRename private GetEntryAssembly QCall overload (dotnet/coreclr#22396)
Stephen Toub [Sat, 16 Mar 2019 03:44:53 +0000 (23:44 -0400)]
Rename private GetEntryAssembly QCall overload (dotnet/coreclr#22396)

To avoid issues with existing private reflection-based code that now gets a parameter count mismatch exception.

Also renamed GetExecutingAssembly for consistency.

Commit migrated from https://github.com/dotnet/coreclr/commit/80bc24981159663c2a2dcda3c1b322c2f57abab8

5 years agoUse HKLM for CLSID lookup (dotnet/coreclr#23258)
Elinor Fung [Sat, 16 Mar 2019 00:57:38 +0000 (17:57 -0700)]
Use HKLM for CLSID lookup (dotnet/coreclr#23258)

* Use HKLM for CLSID lookup
* Delete unused functions

Commit migrated from https://github.com/dotnet/coreclr/commit/7445c892da3bfcc1ac2c9105eb3eda81b0a2ff29

5 years agoAdded HVA64_02 test cases
Brian Sullivan [Sat, 16 Mar 2019 00:26:26 +0000 (17:26 -0700)]
Added HVA64_02 test cases

Commit migrated from https://github.com/dotnet/coreclr/commit/b8f25dce8b326e02a232fc9ed83a8160f7118b1c

5 years agoRestructure the test src/JIT/Directed/VectorABI/VectorMgdMgd.cs
Brian Sullivan [Fri, 15 Mar 2019 23:58:00 +0000 (16:58 -0700)]
Restructure the test src/JIT/Directed/VectorABI/VectorMgdMgd.cs

Commit migrated from https://github.com/dotnet/coreclr/commit/ed8ef5e574a886917546a133d5344362226d7733

5 years agoMerge pull request dotnet/coreclr#23294 from briansull/fix-format
Brian Sullivan [Fri, 15 Mar 2019 23:49:50 +0000 (16:49 -0700)]
Merge pull request dotnet/coreclr#23294 from briansull/fix-format

Fix formatting error

Commit migrated from https://github.com/dotnet/coreclr/commit/791cd55425e1327d7d0c64d9b6aa697c69ef4c06

5 years agoFix formatting error
Brian Sullivan [Fri, 15 Mar 2019 22:40:40 +0000 (15:40 -0700)]
Fix formatting error

Commit migrated from https://github.com/dotnet/coreclr/commit/b322cc4f7d7c0e78a5d4c42d5dc8a26ed82d673a

5 years agoMerge pull request dotnet/coreclr#23272 from briansull/VNMap_Overwrite
Brian Sullivan [Fri, 15 Mar 2019 21:55:51 +0000 (14:55 -0700)]
Merge pull request dotnet/coreclr#23272 from briansull/VNMap_Overwrite

Fix for duplicate call to Set when we run out of budget

Commit migrated from https://github.com/dotnet/coreclr/commit/037fb36a35f8e8f8a4cae4701608142e687b376f

5 years agoPort AMSI scanning for assembly loads (dotnet/coreclr#23231)
Elinor Fung [Fri, 15 Mar 2019 19:33:43 +0000 (12:33 -0700)]
Port AMSI scanning for assembly loads (dotnet/coreclr#23231)

* Port AMSI scanning for assembly loads

* Define PLATFORM_WINDOWS for Windows build

* Remove check for LOAD_LIBRARY_SEARCH_SYSTEM32 support

Commit migrated from https://github.com/dotnet/coreclr/commit/3a029763047b5144e9fdca7f4c0d70553ddbf2e8

5 years agoFix GetFullAffinityMask for cpuCount==64 (dotnet/coreclr#23276)
Jan Vorlicek [Fri, 15 Mar 2019 19:32:48 +0000 (20:32 +0100)]
Fix GetFullAffinityMask for cpuCount==64 (dotnet/coreclr#23276)

The function was incorrectly assuming that shifting 64 bit
constant 1 by 64 bits to the left gets result 0.

Commit migrated from https://github.com/dotnet/coreclr/commit/66009329a187634dc432854cdd7c893d972156eb

5 years agoFixed small typo in path to crossgen (dotnet/coreclr#23286)
Fawad Halim [Fri, 15 Mar 2019 19:32:11 +0000 (14:32 -0500)]
Fixed small typo in path to crossgen (dotnet/coreclr#23286)

Commit migrated from https://github.com/dotnet/coreclr/commit/855f6bef8e00c7aa45f2f14df4e3c18c12e8ab18

5 years agoAdd `Schedule` and 'Manual' as possible triggers for outerloop jobs. (dotnet/coreclr...
Sergey Andreenko [Fri, 15 Mar 2019 17:38:47 +0000 (10:38 -0700)]
Add `Schedule` and 'Manual' as possible triggers for outerloop jobs. (dotnet/coreclr#23271)

Commit migrated from https://github.com/dotnet/coreclr/commit/b93bad8d293223ba35299f7ca1a2f65fac9d35ba

5 years agoExclude tracing/keyword/TwoKeywords test from running on all platforms (dotnet/corecl...
Egor Chesakov [Fri, 15 Mar 2019 17:35:25 +0000 (10:35 -0700)]
Exclude tracing/keyword/TwoKeywords test from running on all platforms (dotnet/coreclr#23267)

Related issue: https://github.com/dotnet/coreclr/issues/23224

Commit migrated from https://github.com/dotnet/coreclr/commit/5704d1ba9e4f27933bfa6bc18bdb83a9d840d632

5 years agoIn CLRLifoSemaphore, start the underlying semaphore with 0 for the initial signal...
Koundinya Veluri [Fri, 15 Mar 2019 16:12:27 +0000 (09:12 -0700)]
In CLRLifoSemaphore, start the underlying semaphore with 0 for the initial signal count (dotnet/coreclr#22632)

- Port of a fix from https://github.com/dotnet/corert/pull/6955
- The underlying semaphore is only used to wake up waiters, initially there are no waiters and the signal count should be zero. This was already the case on Windows, this fixes the Unix side. The actual initial signal count is tracked in the upper layer counts.
- The initial signal count passed in is zero anyway in the places where it's used, so it makes no difference for now, just some cleanup

Commit migrated from https://github.com/dotnet/coreclr/commit/9c4d496071c2ffdc5a8793835694d1a8ac267522

5 years agoCollection<T>: Validate parameters in the public methods (dotnet/coreclr#23166)
Justin Van Patten [Fri, 15 Mar 2019 14:52:31 +0000 (07:52 -0700)]
Collection<T>: Validate parameters in the public methods (dotnet/coreclr#23166)

I was looking over the new Range methods on `Collection<T>` and it occurred to me that for all existing methods, parameter validation is done in the *public* methods before calling the *protected virtual* methods. This changes the new Range methods to do the same.

Commit migrated from https://github.com/dotnet/coreclr/commit/52311794f86596eeeedb745fc2258edd0eeafb95

5 years agoUpdate performance-guidelines.md (dotnet/coreclr#23183)
Han Lee [Fri, 15 Mar 2019 14:43:28 +0000 (07:43 -0700)]
Update performance-guidelines.md (dotnet/coreclr#23183)

so that it uses run-xunit-perf.py command. run-xunit-perf.cmd is no longer there.

Commit migrated from https://github.com/dotnet/coreclr/commit/335df1f075f06653b01838c9e64e6ee31d5f60cf

5 years agoFix Ubuntu arm build break. (dotnet/coreclr#23270)
Jeremy Koritzinsky [Fri, 15 Mar 2019 05:24:15 +0000 (22:24 -0700)]
Fix Ubuntu arm build break. (dotnet/coreclr#23270)

* Add platformdefines.h include to fix build break.

Commit migrated from https://github.com/dotnet/coreclr/commit/68fad02f41707a5333992cd7701e75aefb4e51c8

5 years agoMove TypeLoadException to shared (dotnet/coreclr#23238)
Egor Bogatov [Fri, 15 Mar 2019 03:41:05 +0000 (06:41 +0300)]
Move TypeLoadException to shared (dotnet/coreclr#23238)

* fix coding-style

* shorter form for TypeName property

* move coreclr-specific ctor to TypeLoadException

Commit migrated from https://github.com/dotnet/coreclr/commit/45dd63f1523c559a3a5ba4029a46ef08b55dd10d

5 years agoMake ILProj work in Visual Studio (dotnet/coreclr#23264)
Eric StJohn [Fri, 15 Mar 2019 02:13:11 +0000 (19:13 -0700)]
Make ILProj work in Visual Studio (dotnet/coreclr#23264)

CPS depends the targets defined here and will fail to load a project if these aren't imported.

Commit migrated from https://github.com/dotnet/coreclr/commit/fa43509b42083ba044660d7ea566af79207a4275

5 years agoDisable failing test against dotnet/coreclr#23262 (dotnet/coreclr#23263)
Jan Kotas [Fri, 15 Mar 2019 01:36:41 +0000 (18:36 -0700)]
Disable failing test against dotnet/coreclr#23262 (dotnet/coreclr#23263)

Commit migrated from https://github.com/dotnet/coreclr/commit/832c78f88083dc119632a0c0befdaa1e8d5c0ea7

5 years agoFix for duplicate call to Set when we run out of budget
Brian Sullivan [Thu, 14 Mar 2019 23:19:07 +0000 (16:19 -0700)]
Fix for duplicate call to Set when we run out of budget

Commit migrated from https://github.com/dotnet/coreclr/commit/6a773c4a849048b65b62940e3c060144cbd31f01

5 years agoMerge pull request dotnet/coreclr#23260 from BruceForstall/AlwaysArchiveCrossgenCompa...
Bruce Forstall [Thu, 14 Mar 2019 22:51:30 +0000 (15:51 -0700)]
Merge pull request dotnet/coreclr#23260 from BruceForstall/AlwaysArchiveCrossgenComparisonResults

Archive crossgen comparison job results even if job fails

Commit migrated from https://github.com/dotnet/coreclr/commit/db1d0fcb95948fbfbbddf258232d1e066c2c1f78

5 years agoMerge pull request dotnet/coreclr#23180 from franksinankaya/gcc_cleanup_12
Jan Vorlicek [Thu, 14 Mar 2019 22:31:25 +0000 (23:31 +0100)]
Merge pull request dotnet/coreclr#23180 from franksinankaya/gcc_cleanup_12

Fix conversion and signedness issues in Event Tracer

Commit migrated from https://github.com/dotnet/coreclr/commit/a9dfb5cd25b882082e2605161c4fdd7faaa949ec

5 years ago Fix the calling convention for P/Invokes and delegates to hostpolicy (dotnet/coreclr...
Aaron Robinson [Thu, 14 Mar 2019 22:15:56 +0000 (15:15 -0700)]
 Fix the calling convention for P/Invokes and delegates to hostpolicy (dotnet/coreclr#23249)

* Fix the calling convention for P/Invokes and delegates

* Update mock library to match official hostpolicy calling conventions

Commit migrated from https://github.com/dotnet/coreclr/commit/ce39609eff13c327b1ac27caeae83f691e67170a

5 years agoFix GetProcessAffinityMask (dotnet/coreclr#23247)
Jan Vorlicek [Thu, 14 Mar 2019 21:30:00 +0000 (22:30 +0100)]
Fix GetProcessAffinityMask (dotnet/coreclr#23247)

The function was returning mask not expected by runtime for coreclr
built with NUMA enabled on machines with multiple NUMA nodes.
The mask was 0 in case the current process was affinitized to CPUs
from multiple NUMA nodes. It was following MSDN doc, however the
doc turned out to be ambiguous. Moreover, the runtime depended
on the fact that on Windows, a process is never run on multiple
NUMA nodes unless is explicitly calls APIs to set ideal processor
for threads. But on Unix, there is no such case and by default, a
process is affinitized to all existing processors over all NUMA
nodes.

And there was one more issue. The GetProcessAffinityMask was returning
a mask within a single CPU group, which is a transformed view of
NUMA node on Windows. So the CPU indices in the mask didn't necessarily
correspond to the native Unix CPU indices. But, the SetThreadAffinityMask
was using the native Unix CPU indices.

To fix the problem, the GetProcessAffinityMask is changed so that
it always returns a mask corresponding to the native Unix CPU indices
(reporting upto 64 processors as the mask is 64 bit wide). Thus it
corresponds to what the SetThreadAffinityMask expects. And it also exactly
matches the behavior when NUMA support is not compiled in.
Moreover, the COMPlus_GCHeapAffinitizeMask bits now correspond to
the native Unix CPU indices.

The GetProcessAffinityMask is used by GC and thread pool only when
NUMA is not enabled using the COMPlus_GCCpuGroup env variable.

Commit migrated from https://github.com/dotnet/coreclr/commit/23fbf7e7ab231876b9d54b52bac044cdde159118

5 years agoFix DisableTier0Jit when multi-core JIT is enabled (dotnet/coreclr#23200)
Koundinya Veluri [Thu, 14 Mar 2019 20:51:25 +0000 (13:51 -0700)]
Fix DisableTier0Jit when multi-core JIT is enabled (dotnet/coreclr#23200)

- With multi-core JIT, a method may be jitted before it is called, in which case the call counting entry would not already exist

Commit migrated from https://github.com/dotnet/coreclr/commit/50d38a42a5085ad6ed43fc480c6d2b0562e6848e

5 years agoUpdate CoreFX Linux Arm64 exclusion list. (dotnet/coreclr#22697)
Sergey Andreenko [Thu, 14 Mar 2019 20:36:03 +0000 (13:36 -0700)]
Update CoreFX Linux Arm64 exclusion list. (dotnet/coreclr#22697)

* Update CoreFX Linux Arm64 exclusion list.

* Exclude System.Globalization.Calendars.Tests.

* Exclude System.Threading.Tasks.Tests.

* Exclude dotnet/coreclr#23242

Commit migrated from https://github.com/dotnet/coreclr/commit/5f42cca807df8d70b206188858c8636f73ce0f78

5 years agoArchive crossgen comparison job results even if job fails
Bruce Forstall [Thu, 14 Mar 2019 20:34:53 +0000 (13:34 -0700)]
Archive crossgen comparison job results even if job fails

Commit migrated from https://github.com/dotnet/coreclr/commit/c75aa7c23c0bbac51ade0844d9e38e9d38e36c65

5 years agoMerge pull request dotnet/coreclr#23203 from janvorli/fix-no-return-false-positives
Jan Vorlicek [Thu, 14 Mar 2019 09:22:44 +0000 (10:22 +0100)]
Merge pull request dotnet/coreclr#23203 from janvorli/fix-no-return-false-positives

Fix no-return false positives in static analyzer build

Commit migrated from https://github.com/dotnet/coreclr/commit/6958ede8e835048b9d1ee9843d7587cacf527101

5 years agoDelete suspicious code in delegate construction (dotnet/coreclr#22830)
Michal Strehovský [Thu, 14 Mar 2019 08:33:59 +0000 (09:33 +0100)]
Delete suspicious code in delegate construction (dotnet/coreclr#22830)

Delegate construction is trying to do some weird special casing around closed delegates to interface methods that is breaking non-virtual delegates to default interface methods. The special casing has suspicious comments indicating people didn't know why it's needed in the first place, so I'm going with a theory that it's a cargo cult (e.g. why the reasons specified in the comments don't apply to normal virtual methods?).

Fixes dotnet/coreclr#22728.

Commit migrated from https://github.com/dotnet/coreclr/commit/674bdcbc2ac824d005b5179cee3c5826b582b9a6

5 years agoDisable tracing/inducedgc test on all Unix platforms (dotnet/coreclr#23240)
Sung Yoon Whang [Thu, 14 Mar 2019 02:42:28 +0000 (19:42 -0700)]
Disable tracing/inducedgc test on all Unix platforms (dotnet/coreclr#23240)

* Disabling tracing/tracevalidation/inducedgc test on all unix

* Leave the exclusion list on arm64 there

Commit migrated from https://github.com/dotnet/coreclr/commit/b6ae87f8b644a51bf4cd926770d20d22b3a2031f

5 years agoFix/clean compNoGCHelperCallKillSet for arm. (dotnet/coreclr#23078)
Sergey Andreenko [Thu, 14 Mar 2019 01:31:27 +0000 (18:31 -0700)]
Fix/clean compNoGCHelperCallKillSet for arm. (dotnet/coreclr#23078)

* Add an assert to compNoGCHelperCallKillSet.

That registers that lose GC or byref values also are in compHelperCallKillSet return set.

* Move compNoGCHelperCallKillSet from compiler to emitter.

* Rename `compNoGCHelperCallKillSet` to `emitGetGCRegsKilledByNoGCCall`.

* Fix GCRegsKill sets for arm CORINFO_HELP_PROF_FCN_ENTER and CORINFO_HELP_PROF_FCN_LEAVE.

Commit migrated from https://github.com/dotnet/coreclr/commit/83327daf3c6186587f91182c39afd8e768baecfd

5 years agoChoose the SString constructor explicitly
Sinan Kaya [Mon, 11 Mar 2019 17:58:42 +0000 (17:58 +0000)]
Choose the SString constructor explicitly

Commit migrated from https://github.com/dotnet/coreclr/commit/72f704c3ec9c51644777a22898e9d820080189ec

5 years agosignedness conversion
Sinan Kaya [Mon, 11 Mar 2019 18:12:01 +0000 (18:12 +0000)]
signedness conversion

Commit migrated from https://github.com/dotnet/coreclr/commit/211e8c028d2ce217ea51b681f9dbe52968280d32

5 years agofix conversion issues
Sinan Kaya [Mon, 11 Mar 2019 17:31:46 +0000 (17:31 +0000)]
fix conversion issues

Commit migrated from https://github.com/dotnet/coreclr/commit/f1533899b70c634be152c4ad19db99fd5fa79725

5 years agoMerge pull request dotnet/coreclr#23109 from briansull/gh-21231
Brian Sullivan [Thu, 14 Mar 2019 00:33:25 +0000 (17:33 -0700)]
Merge pull request dotnet/coreclr#23109 from briansull/gh-21231

Fix for Issue 21231

Commit migrated from https://github.com/dotnet/coreclr/commit/3d4ed7c829803206db7caea1e348bc4791aec0a6

5 years agoAdd OperationStatus-based UTF8 transcoding APIs (dotnet/coreclr#23219)
Levi Broderick [Wed, 13 Mar 2019 22:43:25 +0000 (15:43 -0700)]
Add OperationStatus-based UTF8 transcoding APIs (dotnet/coreclr#23219)

Commit migrated from https://github.com/dotnet/coreclr/commit/fdd611cbcdc0f7d922dd111e5e1831663c67e685

5 years agoMerge pull request dotnet/coreclr#23220 from BruceForstall/FixArm64HfaJmpCallNyi
Bruce Forstall [Wed, 13 Mar 2019 22:38:41 +0000 (15:38 -0700)]
Merge pull request dotnet/coreclr#23220 from BruceForstall/FixArm64HfaJmpCallNyi

Arm64: Implement JMP call for HFA register arguments

Commit migrated from https://github.com/dotnet/coreclr/commit/c71c92a0c0ff7ac442c3ca9d1ae7cc177072b23f

5 years agoFix for Issue 21231
Brian Sullivan [Thu, 7 Mar 2019 22:20:44 +0000 (14:20 -0800)]
Fix for Issue 21231

When transferring a Zero offset from one GenTree node to another, we need to check if there already is a FieldSeq and append to it.
Added third parameter 'kind' to JitHashTable::Set, and Added enum SetKind
Only allow Set to overwrite an existing entry when kind is set to Overwrite.
Added validation for all calls to JitHashTable::Set
asserting that we don't expect the key to already exist or that we passed Overwrite indicating that we expect to handle it properly.

Added two test cases for Issue 21231

Commit migrated from https://github.com/dotnet/coreclr/commit/ef1d1e86da8406ca86ca98b8d92b038fe1f08d7a