Bruce Forstall [Wed, 31 Oct 2018 06:37:20 +0000 (23:37 -0700)]
Disable non-PR triggers in dev/unix_test_workflow branch
Commit migrated from https://github.com/dotnet/coreclr/commit/
4c2069d8844b4820290a1ed133ac18689f2e5cf6
Jan Kotas [Wed, 31 Oct 2018 02:47:26 +0000 (19:47 -0700)]
Delete redundant framework API tests (dotnet/coreclr#20693)
This is the last batch of deleting tests that are obviously redundant. The remaining framework API tests in CoreCLR can be dealt with as needed if it ever becomes a problem.
Fixes dotnet/coreclr#12782
Commit migrated from https://github.com/dotnet/coreclr/commit/
311bb51443fd510a2c6966efabd9bda1bedc5696
David Wrighton [Wed, 31 Oct 2018 01:05:39 +0000 (18:05 -0700)]
Add support for large number of argumets in CCW call on Arm64 (dotnet/coreclr#20670)
* Fix CCW with large numbers of arguments on arm64
- Correctly align the stack in COMToCLRDispatchHelper
- Add tests for naturally 16 byte aligned stack growth, and non-aligned growth
* New many arguments COM test
* Add support for the IL stub ETW diagnostic event
Commit migrated from https://github.com/dotnet/coreclr/commit/
e14a9ad013ad307b282def301cbf86e4252cca16
Matt Galbraith [Tue, 30 Oct 2018 23:06:29 +0000 (16:06 -0700)]
Merge pull request dotnet/coreclr#20703 from MattGal/bsd-pipebuild-tweaks
Remove DotNetBootstrapCliTarPath from variables
Commit migrated from https://github.com/dotnet/coreclr/commit/
f68e75abf03e5a0320d1b9c8af4991ed941a7bba
Sergey Andreenko [Tue, 30 Oct 2018 23:04:24 +0000 (16:04 -0700)]
Fix printing in `CodeGen::siEndScope`. (dotnet/coreclr#20698)
Commit migrated from https://github.com/dotnet/coreclr/commit/
6bdaffad6bc168e3b2620203a3aa17681e167914
lastsannin [Tue, 30 Oct 2018 23:03:00 +0000 (00:03 +0100)]
Fixed small typo in a comment (dotnet/coreclr#20695)
fixed a simple typo, "co-" should contain a dash in this case.
Commit migrated from https://github.com/dotnet/coreclr/commit/
4b7f40491acf41a3fd26128a62d3fe0c4fda19ee
Tomas Weinfurt [Tue, 30 Oct 2018 23:01:16 +0000 (16:01 -0700)]
fix detection for LLDB.h and make sos mandatory on FreeBSD (dotnet/coreclr#20551)
* fix detection for LLDB.h and make sos mandatory on FreeBSD
* feedback from review
* feedback from review
* add llvm40 as well for completness
* fix OR condition
Commit migrated from https://github.com/dotnet/coreclr/commit/
11f895780345964bbcdb07d0aaf34fd08ccc2b45
Matt Galbraith [Tue, 30 Oct 2018 22:58:38 +0000 (15:58 -0700)]
Remove DotNetBootstrapCliTarPath from variables as it was getting forcibly upper-cased, making it useless. Instead, use the workaround of setting it explicitly before sync.sh.
Commit migrated from https://github.com/dotnet/coreclr/commit/
076b797f591fcf0c329fe8005a3c40e1e37d058d
Matt Galbraith [Tue, 30 Oct 2018 22:03:33 +0000 (15:03 -0700)]
Merge pull request dotnet/coreclr#20699 from MattGal/bsd-pipebuild-tweaks
Add FreeBSD to official build pipelines
Commit migrated from https://github.com/dotnet/coreclr/commit/
071d5d570d0185b64dc2e4fd346b6bab6ddae591
Matt Galbraith [Tue, 30 Oct 2018 20:57:08 +0000 (13:57 -0700)]
add -portablebuild=false to build.sh (affects naming)
Commit migrated from https://github.com/dotnet/coreclr/commit/
a5605f20fccbe9d21aed36e8aa05ff567ef3808f
Sergey Andreenko [Tue, 30 Oct 2018 20:38:50 +0000 (13:38 -0700)]
Fix `JitStressRegs=0x1` issue with `RefTypeUpperVectorSaveDef`. (dotnet/coreclr#20623)
* Add a repro test.
* Fix the issue.
* Add comments
Commit migrated from https://github.com/dotnet/coreclr/commit/
1f62917ca7c4d16cb5b4e12eaf4fd35f5cbb8715
Matt Galbraith [Tue, 30 Oct 2018 20:21:08 +0000 (13:21 -0700)]
Fixing build.sh args
Commit migrated from https://github.com/dotnet/coreclr/commit/
8d226e8012e67754b129be1fa89a1cdb60c303fd
Matt Galbraith [Tue, 30 Oct 2018 17:47:13 +0000 (10:47 -0700)]
Add freebsd flavor to CoreCLR pipebuild
Commit migrated from https://github.com/dotnet/coreclr/commit/
5ee60d3bdac79c6eb6d2607c4357979965258ae9
Andy Ayers [Tue, 30 Oct 2018 18:24:37 +0000 (11:24 -0700)]
JIT: Fix call flag propagation for GenTreeArrElem (dotnet/coreclr#20660)
Closes dotnet/coreclr#20651.
Also fix up some "near miss" cases for GenTreeField and GenTreeBoundsCheck,
where we get lucky and the importer currently splits trees with temps so the
currently ignored child nodes have no interesting side effects.
Revise GenTreeField a bit to pull more of the initialization work into the
constructor. Add a missing R2R field propagation for field nodes in GtClone
(evidently also never hit in practice).
Commit migrated from https://github.com/dotnet/coreclr/commit/
626def86af589734999a0e62d3a83c2acb9de54a
Brian Sullivan [Tue, 30 Oct 2018 17:03:16 +0000 (10:03 -0700)]
Merge pull request dotnet/coreclr#20641 from briansull/vso_707552
Fix VSO 707552
Commit migrated from https://github.com/dotnet/coreclr/commit/
67ed270f13012e85b2925360d32673614f834449
Michelle McDaniel [Tue, 30 Oct 2018 16:51:40 +0000 (09:51 -0700)]
Add the execution policy when running powershell in size on disk benchmarks (dotnet/coreclr#20680)
Since moving to the helix queue, we have been failing because the execution policy on the vms is not set to unrestricted. To get around this, we need to explicitly pass -ExecutionPolicy Bypass.
Commit migrated from https://github.com/dotnet/coreclr/commit/
a9074bce5e3814db67dbec1c56f477202164d162
Egor Chesakov [Tue, 30 Oct 2018 15:30:15 +0000 (08:30 -0700)]
Disable failing on Windows/ARM Interop/COM tests (dotnet/coreclr#20675)
* Interop/COM/NETClients/Primitives/NETClientPrimitives
* Interop/COM/NativeClients/Primitives
* Interop/COM/NETClients/IDispatch/NETClientIDispatch
* Interop/COM/NETClients/Aggregation/NETClientAggregation
Commit migrated from https://github.com/dotnet/coreclr/commit/
5cf4b2c6e003a6f6772920fc3ea2a4927af0de72
Shreyas Jejurkar [Tue, 30 Oct 2018 15:05:58 +0000 (08:05 -0700)]
Corrected Typos and grammar (dotnet/coreclr#20658)
* Corrected some typos and grammar as per English language guidelines.
* Reverted some of the changes
* Reverted back some changes Phase 2
Commit migrated from https://github.com/dotnet/coreclr/commit/
9d92078b022a8113cd9db78076ce69260f1754dc
dotnet-maestro-bot [Tue, 30 Oct 2018 12:18:38 +0000 (05:18 -0700)]
Remove unnecessary Pack directive to fix build break (dotnet/coreclr#20681)
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
6656164cc5bbc67b4c70410f8c75680e1b19c386
Bruce Forstall [Tue, 30 Oct 2018 06:57:11 +0000 (23:57 -0700)]
Merge pull request dotnet/coreclr#20679 from BruceForstall/DumpTempReason
Dump the "reason" for a compiler temp
Commit migrated from https://github.com/dotnet/coreclr/commit/
7c90d6b775f26cfe30233da532b47687d54b29cf
Bruce Forstall [Mon, 29 Oct 2018 21:49:26 +0000 (14:49 -0700)]
Dump the "reason" for a compiler temp
Compiler temps are created with a "reason" that is dumped in JitDump.
Save the reason and display it in the local variable table dump.
This is useful when trying to find a particular temp and see what
code has been generated using it.
Commit migrated from https://github.com/dotnet/coreclr/commit/
e36b7a089efd1b36d7e77cccacaca7b15b0c1f15
Andy Ayers [Mon, 29 Oct 2018 23:11:53 +0000 (16:11 -0700)]
JIT: streamline temp usage for returns (dotnet/coreclr#20640)
If the jit decides it needs a return spill temp, and the return value
has already been spilled to a single-def temp, re-use the existing
for the return temp rather than creating a new one.
In conjunction with dotnet/coreclr#20553 this allows late devirtualization for calls where
the object in the virtual call is the result of an inline that provides
a better type, and the objected formerly reached the call via one or more
intermediate temps.
Closes dotnet/coreclr#15873.
Commit migrated from https://github.com/dotnet/coreclr/commit/
ccc18a6352c7a6232606131424c0377ea3529991
Brian Sullivan [Fri, 26 Oct 2018 22:07:21 +0000 (15:07 -0700)]
Fix VSO 707552
[RyuJIT][ilgen] Assertion failed 'exp->gtOper != GT_COUNT'
Use nullptr instead of NULL
Commit migrated from https://github.com/dotnet/coreclr/commit/
a97fd6cbf43b2fb1f851f03d4ec645e746e1b4bf
Sung Yoon Whang [Mon, 29 Oct 2018 22:04:56 +0000 (15:04 -0700)]
Remove outdated GC perf test framework (dotnet/coreclr#20673)
Commit migrated from https://github.com/dotnet/coreclr/commit/
17879dfcda03bb47571daab2addb318ef47b04d9
Tanner Gooding [Mon, 29 Oct 2018 18:15:35 +0000 (11:15 -0700)]
Some cleanup of the System.Number class (dotnet/coreclr#20619)
* Formatting Number.Formatting.cs and Number.Parsing.cs
* Removing some duplicated parsing code by having the Parse method call TryParse
* Moving two constants from NumberBuffer to Dragon4
* Rename FloatPrecision to SinglePrecision
* Updating the casing of the NumberBuffer fields
* Updating NumberBuffer to allow taking a custom-sized digit buffer.
* Updating the various NumberBufferLength constants to be the exact needed lengths
* Fixing DoubleNumberBufferLength and SingleNumberBufferLength to account for the rounding digit.
* Fixing TryParseNumber to use the correct maxDigCount
* Ensure the TryParseSingle out result is assigned on success
Commit migrated from https://github.com/dotnet/coreclr/commit/
aef0bc27daebb70ccc4bdb9bd46960b7e8b5eb0e
Jesús Corrius [Mon, 29 Oct 2018 16:45:43 +0000 (17:45 +0100)]
Fix typo in linux-performance-tracing (dotnet/coreclr#20667)
precomppiled -> precompiled
Commit migrated from https://github.com/dotnet/coreclr/commit/
b1c22db881b1936ed37a798804c81ce7abc23b8e
Andrew Au [Mon, 29 Oct 2018 16:09:48 +0000 (09:09 -0700)]
Unhelpful error when Activator.CreateInstance can't find default constructor (dotnet/coreclr#20491)
Commit migrated from https://github.com/dotnet/coreclr/commit/
f61c6080439ebab6c1ca2afcc7f486cc97703840
dotnet-maestro-bot [Mon, 29 Oct 2018 12:55:12 +0000 (05:55 -0700)]
Update CoreClr, CoreSetup, IbcData, PgoData to preview1-27028-04, preview1-27029-01, master-
20181029-0053, master-
20181029-0054, respectively (dotnet/coreclr#20662)
Commit migrated from https://github.com/dotnet/coreclr/commit/
2dd12d48321c27f7851be176f01d87e06307d4a9
dotnet-maestro-bot [Sun, 28 Oct 2018 15:46:44 +0000 (08:46 -0700)]
Update CoreClr, CoreSetup, IbcData, PgoData to preview1-27028-03, preview1-27028-01, master-
20181028-0058, master-
20181028-0055, respectively (dotnet/coreclr#20653)
Commit migrated from https://github.com/dotnet/coreclr/commit/
bc57445fa436469c5eb604e42fdb21d2d5e452ba
Jan Kotas [Sat, 27 Oct 2018 17:25:09 +0000 (10:25 -0700)]
Delete redundant CoreMangLib decimal tests (dotnet/coreclr#20649)
Fixes failing test obsoleted by dotnet/coreclr#20638 and contributes to dotnet/coreclr#12782
Delete redundant CoreMangLib decimal tests
\85
Commit migrated from https://github.com/dotnet/coreclr/commit/
75c5020b66f727a292afdbdf2b324ebd39e3e89d
dotnet-maestro-bot [Sat, 27 Oct 2018 10:33:24 +0000 (03:33 -0700)]
Update BuildTools, CoreClr, CoreSetup, IbcData, PgoData to preview1-03326-01, preview1-27027-01, preview1-27027-01, master-
20181027-0055, master-
20181027-0036, respectively (dotnet/coreclr#20559)
Commit migrated from https://github.com/dotnet/coreclr/commit/
328740394e42e6a34a1918dd03e7dfa1cd09b457
Stephen Toub [Sat, 27 Oct 2018 05:19:45 +0000 (22:19 -0700)]
Add IAsyncDisposable implementation to Timer (dotnet/coreclr#20646)
Commit migrated from https://github.com/dotnet/coreclr/commit/
46dbd2796bfd28c56a9fb9b2f37c068225595f66
Stephen Toub [Sat, 27 Oct 2018 04:19:05 +0000 (21:19 -0700)]
Implement IAsyncDisposable on CancellationTokenRegistration (dotnet/coreclr#20645)
Commit migrated from https://github.com/dotnet/coreclr/commit/
d66952478bd8f2edec3ea97b0d57072102513ad8
Steve MacLean [Sat, 27 Oct 2018 02:57:42 +0000 (22:57 -0400)]
Remove dead RESOURCE_SATELLITE_CONFIG (dotnet/coreclr#20639)
Commit migrated from https://github.com/dotnet/coreclr/commit/
ca08a38bcab9bdc87eaa129e5960e4169442f72c
Aaron Robinson [Fri, 26 Oct 2018 22:28:51 +0000 (15:28 -0700)]
Merge pull request dotnet/coreclr#20621 from AaronRobinsonMSFT/block_tests_WindowsNano
Add a run time check for Windows.Nano to all COM related tests.
Commit migrated from https://github.com/dotnet/coreclr/commit/
6e3a85ed945f14b0cc54c088be09acb28e39b90a
Ben Adams [Fri, 26 Oct 2018 21:12:13 +0000 (22:12 +0100)]
Allow ArrayPool.Shared devirtualization (redux) (dotnet/coreclr#20637)
Commit migrated from https://github.com/dotnet/coreclr/commit/
0844953a0c75a01cf3c85ae7b4c971dd8e20da51
Pent Ploompuu [Fri, 26 Oct 2018 19:04:18 +0000 (22:04 +0300)]
New Decimal.Remainder implementation (dotnet/coreclr#20305)
* New Decimal.Remainder implementation
* Update CoreFX.issues.json
Commit migrated from https://github.com/dotnet/coreclr/commit/
65c397a4d2bd4f142fdad1b6a25ab482887dd026
David Wrighton [Fri, 26 Oct 2018 18:30:55 +0000 (11:30 -0700)]
Implement interface dispatch to COM for ARM64 (dotnet/coreclr#20618)
* Implement interface dispatch to COM for ARM64
- Implement missing stub (GenericComPlusCallStub)
* Re-enable IDispatch test for Arm64 (Fix issue dotnet/coreclr#20580 )
Commit migrated from https://github.com/dotnet/coreclr/commit/
992c02371ef4f69746ac00080a3621111bf75995
Andy Ayers [Fri, 26 Oct 2018 17:55:06 +0000 (10:55 -0700)]
JIT: refactor how we do late devirtualization (dotnet/coreclr#20553)
Change late devirtualization to run in a postorder callback during
the tree search to update GT_RET_EXPRs, instead of shoehorning it into
the preorder callback.
This allows the jit to reconsider all calls for late devirtualization,
not just calls that are parents of particular GT_RET_EXPRs. The jit will
take advantage of this in subsequent work that does more aggressive
bottup-up type sharpening.
Reconsidering all calls for late devirt instead of just a select subset
incurs around a 0.5% throughput impact.
To mitigate this, short-circult the tree walk when we no longer see a
GTF_CALL flag. This prevents us from walking through CALL and RET_EXPR
free subtrees.
To make this work we have to make sure all node types propagate flags from
their children. This required some updates to a few node constructors.
There is also an odd quirk in the preorder callback where it may overwrite
the parent node (from GT_ASG to GT_BLK or GT_NOP). If the overwrite creates
a GT_NOP, the postorder callback may see a null tree. Tolerate this for now
by checking for that case in the postorder callback.
Also take advantage of `gtRetExprVal` to tunnel through GT_RET_EXPR chains
to the final tree to avoid needing multiple overwrites when propagating
the return expression back into the IR.
With these mitigations this change has minimal throughput impact.
Commit migrated from https://github.com/dotnet/coreclr/commit/
dfd0f4f8032e8297ba8d5b5dc92e4f08d5204983
Tomas Weinfurt [Fri, 26 Oct 2018 16:37:37 +0000 (09:37 -0700)]
fixes to build properly on FreeBSD (dotnet/coreclr#20588)
* fixes to build properly on FreeBSD
* remove ulimit from freebsd branch
Commit migrated from https://github.com/dotnet/coreclr/commit/
e1f7ce16a4a8626054bdeb299f922b7f8b192c22
Austin Wise [Fri, 26 Oct 2018 16:35:45 +0000 (09:35 -0700)]
Add missing include guard in header file. (dotnet/coreclr#20635)
Commit migrated from https://github.com/dotnet/coreclr/commit/
62b78b03f4ad51cbced41792dbc144dea3ef7e22
Austin Wise [Fri, 26 Oct 2018 16:35:09 +0000 (09:35 -0700)]
Remove some dead code related to cross-appdomain exceptions. (dotnet/coreclr#20634)
Commit migrated from https://github.com/dotnet/coreclr/commit/
610dbc19a4fc3747d5afebb4c94ac77c41f56267
Stephen Toub [Fri, 26 Oct 2018 15:26:10 +0000 (08:26 -0700)]
Merge pull request dotnet/coreclr#20628 from stephentoub/asyncinterfaces
Add interfaces/helper types for async iterators
Commit migrated from https://github.com/dotnet/coreclr/commit/
ab9d3795d03008e96716bd92b031c7ee57bc456a
Rafael [Fri, 26 Oct 2018 07:34:32 +0000 (00:34 -0700)]
Working towards clean-up comments /**/ in cs (dotnet/coreclr#20609)
* Working towards cleaning comments /**/
Cleaningup /**/ style comments - Following https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/xmldoc/recommended-tags-for-documentation-comments
dotnet/coreclr#20330
* Updating tags
-Updating some <sumary> to <remarks>
-Adding missing tags
* Fixing PR comments
-Comment does not belong to the public description
* Hiding comment from public description.
* Update //***** to the prevalent // style.
Commit migrated from https://github.com/dotnet/coreclr/commit/
3ed48433718f870cdf258ac10bcd6eead6beb2b9
Egor Bogatov [Fri, 26 Oct 2018 06:07:08 +0000 (09:07 +0300)]
Optimize FormattingHelpers.CountHexDigits using Lzcnt.LeadingZeroCount (dotnet/coreclr#19006)
* Optimize CountHexDigits using Lzcnt
* shift bits instead
* use Lzcnt only on 64 bit
* Optimize Buffer.Utilities.SelectBucketIndex()
* #if HAS_INTRINSICS
* remove HAS_INTRINSICS
* remove HAS_INTRINSICS
Commit migrated from https://github.com/dotnet/coreclr/commit/
d236b8c5e42013d70879bea349d49d7d466364c8
Stephen Toub [Fri, 26 Oct 2018 04:19:26 +0000 (21:19 -0700)]
Add ConfigureAwait extension method for IAsyncEnumerable
Commit migrated from https://github.com/dotnet/coreclr/commit/
9e16ad51dd0f5e77b2dbaa6300dc2da1aafe21f3
Stephen Toub [Thu, 18 Oct 2018 00:50:05 +0000 (20:50 -0400)]
Add ManualResetValueTaskSourceCore
Commit migrated from https://github.com/dotnet/coreclr/commit/
66fd31294f2bb0bc330a33436d8b48003689020b
Stephen Toub [Tue, 16 Oct 2018 02:00:16 +0000 (22:00 -0400)]
Add AsyncIteratorMethodBuilder
Commit migrated from https://github.com/dotnet/coreclr/commit/
3fc28194a4eefd6bcbb136389e807b33942265b9
Stephen Toub [Tue, 16 Oct 2018 01:21:08 +0000 (21:21 -0400)]
Add IAsyncEnumerable and IAsyncEnumerator
Commit migrated from https://github.com/dotnet/coreclr/commit/
9d811158195826ca1a2211c996b56c3314325a44
Stephen Toub [Tue, 16 Oct 2018 01:18:18 +0000 (21:18 -0400)]
Add IAsyncDisposable
Commit migrated from https://github.com/dotnet/coreclr/commit/
42df95953b43bdb68caccb996409edfae70a3b94
Carol Eidt [Fri, 26 Oct 2018 03:02:37 +0000 (03:02 +0000)]
Merge pull request dotnet/coreclr#20579 from fiigii/broadcast
Implement AVX2.BroadcastScalarToVector128/256
Commit migrated from https://github.com/dotnet/coreclr/commit/
a73bfb8d7ccc796c2b0beb7c13f8bb7baaa47ab2
Bruce Forstall [Fri, 26 Oct 2018 00:34:42 +0000 (17:34 -0700)]
Merge pull request dotnet/coreclr#20611 from BruceForstall/DisableB152292
Disable b152292 for arm32 also
Commit migrated from https://github.com/dotnet/coreclr/commit/
201930349a4030b0f0b2c8435a35bf3474572fbb
Aaron Robinson [Fri, 26 Oct 2018 00:05:53 +0000 (17:05 -0700)]
Add a runtime check for Windows.Nano to all COM related tests.
Commit migrated from https://github.com/dotnet/coreclr/commit/
529b22a5ff59abae958dabc34961b20ea06f3185
Bruce Forstall [Thu, 25 Oct 2018 23:25:41 +0000 (16:25 -0700)]
Merge pull request dotnet/coreclr#20527 from BruceForstall/FixPspSymMove
Stop attempting to move PSPSym during localloc for arm32/arm64
Commit migrated from https://github.com/dotnet/coreclr/commit/
459aa7db781797ba2dac17511a68d978ddc8a0ba
Bruce Forstall [Mon, 22 Oct 2018 23:13:07 +0000 (16:13 -0700)]
Stop attempting to move PSPSym during localloc for arm32/arm64
For arm64, this was creating a data corruption possibility, as the
calculations were done wrong.
In neither case was it necessary, as in the main function we always
access the PSPSym FP-relative, so when writing back the PSPSym, we
were always writing to exactly the same slot; nothing was actually
moving.
I can't recall or figure out why we were moving it in the first place,
or what might have changed.
Added a new variant of the localloc eh tests that has outgoing arguments,
to exercise the case where we need to re-establish the outgoing argument
space after the localloc.
Commit migrated from https://github.com/dotnet/coreclr/commit/
ada55ba08723fa2e0b2133291f2ee85820bbb75b
Aaron Robinson [Thu, 25 Oct 2018 21:47:59 +0000 (14:47 -0700)]
Merge pull request dotnet/coreclr#20617 from AaronRobinsonMSFT/windows_nano_detection
Add support for tests to detect Windows Nano at runtime.
Commit migrated from https://github.com/dotnet/coreclr/commit/
0526f267a1bec0cc80f29a72f135ea980a4dd474
Bruce Forstall [Thu, 25 Oct 2018 16:40:47 +0000 (09:40 -0700)]
Disable b152292 for arm32 also
Commit migrated from https://github.com/dotnet/coreclr/commit/
6165e1834a69e15897ca1ecdc794b283e85d2c47
Stephen Toub [Thu, 25 Oct 2018 20:01:56 +0000 (13:01 -0700)]
Add DumpDelegate sos command (dotnet/coreclr#20591)
* Add DumpDelegate sos command
Finding out what method a delegate points to today with SOS is tedious. This PR adds a DumpDelegate command that simplifies it: give it the delegate address, and it outputs a line for each delegate that makes up the input delegate, where each line includes the target object, the method descriptor, and a friendly name.
* Address PR feedback
And fix some warnings that were showing up in CI but not locally.
Commit migrated from https://github.com/dotnet/coreclr/commit/
468eab186f15e6e42a0041042dc37d97330f6697
Aaron Robinson [Thu, 25 Oct 2018 20:01:40 +0000 (13:01 -0700)]
Add support for tests to detect Windows Nano at runtime.
Commit migrated from https://github.com/dotnet/coreclr/commit/
773f8b995c18c48e4c9331f6487cd26f53b60ab3
Brian Robbins [Thu, 25 Oct 2018 19:58:56 +0000 (12:58 -0700)]
Remove debug-only file writers. (dotnet/coreclr#20612)
Commit migrated from https://github.com/dotnet/coreclr/commit/
6dd4270daf3ee49a08adedaf71a087de32c810a2
Fei Peng [Wed, 24 Oct 2018 19:27:58 +0000 (12:27 -0700)]
Add test cases for AVX2.BroadcastScalarToVector128/256 and move Avx.Broadcast* tests to the template
Commit migrated from https://github.com/dotnet/coreclr/commit/
b7802c0a3af98f85a90f974e7a947a94559fae45
Fei Peng [Wed, 24 Oct 2018 19:27:31 +0000 (12:27 -0700)]
Implement AVX2.BroadcastScalarToVector128/256
Commit migrated from https://github.com/dotnet/coreclr/commit/
797ced585277115448e8466cd33a6d633608bc88
Aaron Robinson [Thu, 25 Oct 2018 17:36:30 +0000 (10:36 -0700)]
Merge pull request dotnet/coreclr#20614 from AaronRobinsonMSFT/coreclr/20601
Disable `IDispatch` test on Windows.Nano
Skipping CI verification since this is a non-code change and only impacts nightly runs.
Commit migrated from https://github.com/dotnet/coreclr/commit/
14b80285d3023af2c786f2956064c74ab4b1c4c5
Aaron Robinson [Thu, 25 Oct 2018 17:34:26 +0000 (10:34 -0700)]
Disable IDispatch test on Windows.Nano
Commit migrated from https://github.com/dotnet/coreclr/commit/
3d874e34552692e0a8b4fc139c1830dcda249ee7
Steve MacLean [Tue, 23 Oct 2018 17:29:16 +0000 (13:29 -0400)]
Disable ExecuteInDefaultAppDomain test on *nix
Commit migrated from https://github.com/dotnet/coreclr/commit/
f3772edae65f2d1c7ac2e32df700dce5bb5c5408
Steve MacLean [Tue, 23 Oct 2018 19:35:36 +0000 (15:35 -0400)]
ExecInDefAppDom add InjectCode test
Commit migrated from https://github.com/dotnet/coreclr/commit/
ae97eec9ba8206e3895e76dba1616f742e0631b2
Steve MacLean [Fri, 12 Oct 2018 19:10:06 +0000 (15:10 -0400)]
Add test for ICLRRuntimeHost::ExecuteInDefaultAppDomain
Commit migrated from https://github.com/dotnet/coreclr/commit/
172506218ef056caf787f0ef4846c93c7f6ff53e
Steve MacLean [Sat, 13 Oct 2018 02:30:55 +0000 (22:30 -0400)]
Add IID_ICLRRuntimeHost QueryInterface support
Commit migrated from https://github.com/dotnet/coreclr/commit/
b8b61f54feffd4e445a14e3008b19b6890fc62be
Steve MacLean [Wed, 10 Oct 2018 16:50:30 +0000 (12:50 -0400)]
Restore ExecuteInDefaultAppDomain implementation
Restore deleted ExecuteInDefaultAppDomain implentation
Enable for CoreCLR
Cleanup for CoreCLR
Commit migrated from https://github.com/dotnet/coreclr/commit/
acf316089c3e600987ae94fa1750a7dc3029a284
Brian Robbins [Thu, 25 Oct 2018 16:47:48 +0000 (09:47 -0700)]
Add EventPipe Config File Option MultiFileSec (dotnet/coreclr#20548)
Commit migrated from https://github.com/dotnet/coreclr/commit/
c99e2dd5ebe9068db16d5273d080601368503039
Petr Onderka [Thu, 25 Oct 2018 16:21:41 +0000 (18:21 +0200)]
Avoid comparing capacity in StringBuilder.Equals (dotnet/coreclr#20567)
* Avoid comparing capacity in StringBuilder.Equals
* Disabled corefx StringBuilder test
Commit migrated from https://github.com/dotnet/coreclr/commit/
2e84928f84debcca03226e613fc84668c18bd261
Jeremy Koritzinsky [Thu, 25 Oct 2018 15:40:15 +0000 (08:40 -0700)]
Fallback to old behavior when marshaling a non-blittable fixed buffer (dotnet/coreclr#20575)
* Throw an exception only when attempting to marshal nonblittable fixed buffers to/from native instead of on all marshalling operations.
* Assert in debug and checked builds when trying to marshal a fixed buffer of a non-blittable type.
Commit migrated from https://github.com/dotnet/coreclr/commit/
f7863cf3877a1ce17bde80b8e78ed5b9ba2cf8f5
Andy Ayers [Thu, 25 Oct 2018 15:17:49 +0000 (08:17 -0700)]
JIT: ensure float folding is done using float precision (dotnet/coreclr#20578)
Cast float folded values back to float before assigning to the double
the jit uses for storing FP literal constants.
Fixes dotnet/coreclr#20561.
No diffs on Core; exposing the original bug requires building RyuJit with
an older x86 C++ compiler that uses x87 floating point.
Commit migrated from https://github.com/dotnet/coreclr/commit/
1370fb92bc9c1ae9475e92f8638c827128c84527
Thomas Schreiner [Thu, 25 Oct 2018 15:14:18 +0000 (17:14 +0200)]
Fix comment Style (dotnet/coreclr#20604)
Commit migrated from https://github.com/dotnet/coreclr/commit/
e210c1cef74a6c245f91b8215772895e57a4813e
Stephen Toub [Thu, 25 Oct 2018 15:03:37 +0000 (08:03 -0700)]
Use IThreadPoolWorkItem in ConcurrentExclusiveSchedulerPair (dotnet/coreclr#20513)
ConcurrentExclusiveSchedulerPair exposes two TaskSchedulers, one for concurrent processing and one for exclusive processing, such that any tasks scheduled are executed in a corresponding fashion. CESP does that by itself scheduling workers to an underlying scheduler, and those workers in turn process the queued tasks. Today this always queues those workers as Tasks, but if the underlying scheduler is TaskScheduler.Default (aka the thread pool), we can avoid per-worker allocations by using the new UnsafeQueueUserWorkItem overload that takes an IThreadPoolWorkItem, and just queueing the same worker object over and over and over.
Commit migrated from https://github.com/dotnet/coreclr/commit/
f894c98420bfd2bfe398f9fdab34df0b99d13446
Andy Ayers [Thu, 25 Oct 2018 15:02:24 +0000 (08:02 -0700)]
JIT: emit debug info for locals for minopts/tier0 (dotnet/coreclr#20466)
The jit no longer tracks locals when running at minopts. But untracked
local debug emission was tied to `cmpDebugCode. Change untracked local
debug emission to instead check if there are no tracked locals.
Fixes dotnet/coreclr#20421.
Note we could improve things further in the case where there is a mixture
of tracked and untracked locals. I have opened dotnet/coreclr#20465 for that as my first
attempts here had that ambition but ran into problems.
Commit migrated from https://github.com/dotnet/coreclr/commit/
55520b9d64b360ff52c75317faf27890c241f4ff
Ben Adams [Thu, 25 Oct 2018 05:34:10 +0000 (06:34 +0100)]
Avoid implicit long casts in uint compares (dotnet/coreclr#20511)
Commit migrated from https://github.com/dotnet/coreclr/commit/
4fbeb37c62427b51410217cd49cec84e03fdca34
Tarek Mahmoud Sayed [Thu, 25 Oct 2018 05:19:17 +0000 (22:19 -0700)]
Avoid having DateTime.TryParse throwing (dotnet/coreclr#20587)
* Avoid having DateTime.TryParse throwing
There are some cases during the parsing which will require adding ticks to the DateTime object we are creating during the parsing.
DateTime.AddTicks can throw which will make DateTime.TryParse fail with throwing instead of just returning false.
The fix here is to avoid throwing in the first place and let DateTime.TryParse return false on such failures.
* Remove the invalid link
Commit migrated from https://github.com/dotnet/coreclr/commit/
2439be06aae193e6cd04442d344c02ec9629d04d
John Salem [Thu, 25 Oct 2018 03:29:40 +0000 (20:29 -0700)]
Add IsCollectible property to Assembly and necessary backing functions (dotnet/coreclr#20574)
Commit migrated from https://github.com/dotnet/coreclr/commit/
5d1acb06a0d426928cb8c9881ccd2400fe57abce
Tarek Mahmoud Sayed [Thu, 25 Oct 2018 03:04:43 +0000 (20:04 -0700)]
Get the real update for Unicode 11 data (dotnet/coreclr#20589)
In the PR dotnet/coreclr#20529 we have used the old existing data when we moved the file CharunicodeInfoData.cs to shared folder.
This change is to restore the actual updated file.
Commit migrated from https://github.com/dotnet/coreclr/commit/
bbf09029f78dc096f9eade80ed2c1926c900f83b
Andy Ayers [Thu, 25 Oct 2018 02:32:43 +0000 (19:32 -0700)]
Exclude IDispatch test for Windows Arm64 (dotnet/coreclr#20584)
Disable for now while failures are investigated. See dotnet/coreclr#20580.
Commit migrated from https://github.com/dotnet/coreclr/commit/
ebfdb30f648e40cfddcf7067d3ae0db382e8d206
Jeremy Koritzinsky [Wed, 24 Oct 2018 22:56:33 +0000 (15:56 -0700)]
Remove support for nonexistent UnmanagedFunctionPointerAttribute.PreserveSig. (dotnet/coreclr#20396)
UnmanagedFunctionPointer doesn't have a PreserveSig attribute on framework or core, so remove the unused, confusing, and inaccurate support from the runtime.
Commit migrated from https://github.com/dotnet/coreclr/commit/
ba97e4e878d36b3d75d410016143a7fba4ad53a9
Michelle McDaniel [Wed, 24 Oct 2018 20:53:42 +0000 (13:53 -0700)]
Run IBCMerge step for Linux on Windows (dotnet/coreclr#20496)
This change does the following:
* Move the IBCOptimize step out of the Crossgen section and into the CoreLib build section of build.cmd
* Adds -ibconly which will skip building System.Private.CoreLib and only run the ibcmerge step
* Adds crossgenonly and partialngen flags to build.sh
These three changes facilitate our ability to apply IBC data to Linux assemblies on Windows and the perform the crossgen step on Linux, which will be our flow for official builds when we want to apply IBC data since IBCMerge cannot run on non-Windows platforms
Commit migrated from https://github.com/dotnet/coreclr/commit/
ebc4bde180020a252e681cec44956fda18afdb8c
Tarek Mahmoud Sayed [Wed, 24 Oct 2018 19:58:58 +0000 (12:58 -0700)]
Update Unicode data to version 11 (dotnet/coreclr#20529)
* Update Unicode data to version 11
* Move CharUnicodeInfoData.cs to the hsared folder
* Delete un-needed file
* Disable the failed test
Commit migrated from https://github.com/dotnet/coreclr/commit/
11c5d6cea57bffd86778fec8da62d3e3f9b1afa2
Michelle McDaniel [Wed, 24 Oct 2018 17:51:34 +0000 (10:51 -0700)]
Move ILLink and SizeOnDisk testing to Helix Queue (dotnet/coreclr#20569)
Commit migrated from https://github.com/dotnet/coreclr/commit/
8939f019c34febbf0bab9dcc0f13b9ddc58735d8
Fei Peng [Wed, 24 Oct 2018 15:06:41 +0000 (08:06 -0700)]
Expose EnableISA knobs in release build (dotnet/coreclr#20501)
Commit migrated from https://github.com/dotnet/coreclr/commit/
58f6d24dc7a32ad758b8b3806747e7431243a458
Aaron Robinson [Wed, 24 Oct 2018 03:22:24 +0000 (20:22 -0700)]
Merge pull request dotnet/coreclr#20497 from AaronRobinsonMSFT/additional_com_tests
Support for IDispatch
Commit migrated from https://github.com/dotnet/coreclr/commit/
28ef0a4f6eb50988b0c1b6392894a3f7de6db6ad
Jan Kotas [Wed, 24 Oct 2018 02:59:39 +0000 (19:59 -0700)]
Delete duplicate CoreFX tests (dotnet/coreclr#20532)
Contributes to https://github.com/dotnet/coreclr/issues/12782
Commit migrated from https://github.com/dotnet/coreclr/commit/
377e744a976d09d1d392f43e7fa8a999401fe74f
Sergey Andreenko [Wed, 24 Oct 2018 01:06:57 +0000 (18:06 -0700)]
Initialize `StructReturnType` for `gtNewRefCOMfield`. (dotnet/coreclr#20056)
The issue could be repro only on .Net Framework, because this helper is only needed for remoting, that .Net Core doesn't have.
Commit migrated from https://github.com/dotnet/coreclr/commit/
f69b623c9f41c5d358d52f40e5cdad808b005bed
Andy Ayers [Wed, 24 Oct 2018 00:00:11 +0000 (17:00 -0700)]
JIT: recover types from helper calls and more (dotnet/coreclr#20447)
The jit needs to recover class handles in order to devirtualize and
do other type-based optimizations. This change allows the jit to find
the type for more trees: in particular, helper calls, intrinsics, and
expanded static field accesses.
Also, annotate a few methods to control jit optimization
We don't want to optimize special methods that are used to inform crossgen
about desirable generic instantiations. `CommonlyUsedGenericInstantiations`
was already annotated but `CommonlyUsedWinRTRedirectedInterfaceStubs` wasn't.
And because `RuntimeType` is sealed calls through types are now often
devirtualized. Name lookups on types are frequent, especially on error paths.
The method `GetCachedName` looks like an attractive inline but simply expands
into a larger sequence of two other calls. So block it from being inlined.
Commit migrated from https://github.com/dotnet/coreclr/commit/
5af4d641711ba91d6bfa5bcdc510e35cec108754
Egor Chesakov [Tue, 23 Oct 2018 23:27:24 +0000 (16:27 -0700)]
Use the same version of Xunit as in corefx (2.4.1 prerelease) (dotnet/coreclr#20506)
From https://xunit.github.io/releases/2.4.1-pre-4059
**xUnit.net 2.4.1 Pre-Release (build 4059)**
Core framework
* BUG: Fixed an issue with xunit.abstractions not correctly installing with older versions of Visual Studio (pre-2017).
* BUG: Fixed an issue with ByRef types with .NET Core 2.1.
* BUG: Removed an unnecessary first chance exception related to attempting to load configuration files.
* BUG: Fixed an issue where synchronous and asynchronous disposal of test classes were running in parallel. The documented behavior is that asynchronous disposal (via IAsyncLifetime) runs to completion before synchronous disposal (via IDisposable).
Console runner
* BUG: Fixed an issue with XML element order with the NUnit report.
MSBuild runner
* BUG: Fixed an issue with XML element order with the NUnit report.
Commit migrated from https://github.com/dotnet/coreclr/commit/
f53df5b2ac4c3417e0777cb8fe2fca9cf011ede1
Bruce Forstall [Tue, 23 Oct 2018 22:54:14 +0000 (15:54 -0700)]
Merge pull request dotnet/coreclr#20537 from BruceForstall/RemoveLocAllocSP
Remove the LocAllocSP slot for non-x86 platforms
Commit migrated from https://github.com/dotnet/coreclr/commit/
41f935f8948acd378986df6c9b6bf7a19bb429f9
Carol Eidt [Tue, 23 Oct 2018 22:52:18 +0000 (22:52 +0000)]
Merge pull request dotnet/coreclr#20552 from fiigii/retest
Rewrite and re-enable some hardware intrinsic tests
Commit migrated from https://github.com/dotnet/coreclr/commit/
7e7570d8f7cb4e81396b26ebc7c4efa88f6dcbb1
Zeng Jiang [Tue, 23 Oct 2018 21:05:57 +0000 (05:05 +0800)]
Add PInvoke/Delegate tests (dotnet/coreclr#19323)
* Add PInvoke/Delegate tests
* Initial pass to get Delegate tests building xplat and running with current infrastructure.
* Fix BOOL and NULL comparisons.
* Fix copy-paste typo
* Disable explicit offset tests off-Windows.
Commit migrated from https://github.com/dotnet/coreclr/commit/
77aa9586d5a5aff401f9461de7252c27648a2763
Fei Peng [Tue, 23 Oct 2018 18:57:08 +0000 (11:57 -0700)]
Re-enable hardware intrinsic tests
Commit migrated from https://github.com/dotnet/coreclr/commit/
61f784133cd51c7258fa0991734bd9899061d3df
dotnet-maestro-bot [Tue, 23 Oct 2018 18:34:57 +0000 (11:34 -0700)]
Update BuildTools, CoreClr, CoreSetup, IbcData, PgoData to preview1-03322-02, preview1-27023-01, preview1-27023-01, master-
20181023-0040, master-
20181023-0039, respectively (master) (dotnet/coreclr#20502)
* Update BuildTools, CoreClr, CoreSetup, IbcData, PgoData to preview1-03322-02, preview1-27023-01, preview1-27023-01, master-
20181023-0040, master-
20181023-0039, respectively
* excluding DebugTests
Commit migrated from https://github.com/dotnet/coreclr/commit/
cd89eaf4ecf86a877187ebe2b091d4ed17db7c0e
Aaron Robinson [Mon, 1 Oct 2018 21:49:40 +0000 (14:49 -0700)]
Add tests for IDispatch and Aggregation
Commit migrated from https://github.com/dotnet/coreclr/commit/
177a80924432bcfcb60cc6218126e0b45c7941d4
Aaron Robinson [Fri, 19 Oct 2018 20:03:37 +0000 (13:03 -0700)]
Add support for IDispatch in CoreCLR
Reduce some TypeInfo API cruft
Throw exception on non-Windows ABIs for value types
Commit migrated from https://github.com/dotnet/coreclr/commit/
b5dc2a822331595f79b6ada42c8feff63ae0cc96
Jan Kotas [Tue, 23 Oct 2018 15:37:57 +0000 (08:37 -0700)]
Fix System.Diagnostics.Debug.Tests assembly name
Commit migrated from https://github.com/dotnet/coreclr/commit/
b39e93a2d202c833ea888e8162a120c545b3a5e4
Jan Kotas [Tue, 23 Oct 2018 12:21:04 +0000 (05:21 -0700)]
Disable System.Diagnostics.Tests CoreFX tests
Commit migrated from https://github.com/dotnet/coreclr/commit/
6bf346bb7401b40eaa4a9d601033e54c003f6d24